Took a while ... ifx_checksum against remote table with TEXT column
Posted in 2026
Topics: General Discussion
> select first 10 ifx_checksum(S.cat_descr,0),S.catalog_num , T.catalog_num, ifx_checksum(T.cat_descr,0) from catalog S, stores_demo@leap16_1_a_tcp:catalog T where S.catalog_num = T.catalog_num order by S.catalog_num ;(expression) catalog_num catalog_num (expression)
286993076 10001 10001 0
682015331 10002 10002 0
1908503964 10003 10003 0
-1025080793 10004 10004 0
1125840401 10005 10005 0
-377342203 10006 10006 0
-1303427608 10007 10007 0
538677152 10008 10008 0
-214541734 10009 10009 0
-2135660276 10010 10010 0
10 row(s) retrieved.
> select first 10 ifx_checksum(S.cat_descr,0),S.catalog_num , T.catalog_num, stores_demo@leap16_1_a_tcp:ifx_checksum(T.cat_descr,0) from catalog S, stores_demo@leap16_1_a_tcp:catalog T where S.catalog_num = T.catalog_num order by S.catalog_num ;(expression) catalog_num catalog_num (expression)
286993076 10001 10001 286993076
682015331 10002 10002 682015331
1908503964 10003 10003 1908503964
-1025080793 10004 10004 -1025080793
1125840401 10005 10005 1125840401
-377342203 10006 10006 -377342203
-1303427608 10007 10007 -1303427608
538677152 10008 10008 538677152
-214541734 10009 10009 -214541734
-2135660276 10010 10010 -2135660276
10 row(s) retrieved.
------------------------------
Jon Ritson
------------------------------
The difference is due to where is executed. In the first query, evaluated locally against a remote column from the database link, which results in values because the function is not properly pushed down/executed on the remote server. In the second query, explicitly forces the function to run on the remote server, so the correct checksum values are returned and they match the local table values. ------------------------------ Jason John ------------------------------
Errr ... yes Sent from Sky Yahoo Mail for iPhone