ROWIDs on fragmented tables and ESQL/C Updates
Posted in 1995
We have a table that is distributed across two dbspaces. By default
Informix does not assign rowids to fragmented tables. This was causing
us a problem with isql forms because they apparantly explicitly select
rowids. I didn't understand why an Informix front-end tool wouldn't work
with the new Informix engine, but figured I would just add rowids to the
table.
Then we had a problem with some of our ESQL/C calls. We were doing
updates like this:
$ update orders
set * = ($ORRec)
where or_order_num = $ORRec.or_order_num;
Well, apparently "*" now includes rowid on fragmented tables that have
had rowid added (although it doesn't show up when you look at column
names). We started getting errors that the number of columns being
updated didn't match the number of values.
We have worked around this for the time being by individually specifying
each column name rather than "*".
Has anyone else experienced this? Do you have a better solution?
Thanks.