tmpTable1 = tmpTable2 - это присвоение курсора, так сказать, по ссылке. Обе переменные после такого присвоения ссылаются на один и тот же класс.
Пример:
PHP код:
tmpTable1.Field = "";
tmpTable2.Field = "Value";
tmpTable1 = tmpTable2;
print tmpTable1.Field; // result -> Value
После же tmpTable1.setTmpData(tmpTable2) переменная tmpTable1 остается отдельным курсором, но запрашивающим тот же блок данных (по-видимому, тот же файл на диске), что и tmpTable2.
Пример:
PHP код:
tmpTable2.Field = "Value";
tmpTable2.insert();
select tmpTable1 where tmpTable1.Field = "Value"; // result -> none
tmpTable1.setTmpData(tmpTable2);
select tmpTable1 where tmpTable1.Field = "Value"; // result -> found