You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Everything works as designed. DDL execution is deferred till the commit time by the engine, so you should never expect DDL and DML working in the same transaction. In some old versions (IIRC, v1.5 included) it may even cause unexpected results (e.g. wrong column updated).
Submitted by: Semi (semi)
Cannot fill columns, created with ALTER TABLE within the same transaction by UPDATE.
Within one started transaction (before commit), after issuing command:
ALTER TABLE tbl add Column1 D_VARCHAR16;
this command causes exception:
update tbl set tbl.Column1=(select first 1 Column0 from tbl2 where http://tbl.ID=tbl2.ID)
this command does nothing:
update tbl set tbl.Column1=(select first 1 Column0 from tbl2 where http://tbl.ID=tbl2.ID) where (tbl.Column1 is NULL)
this simple select (performed by IBObjects component TIboQuery) causes exception:
select * from tbl
'ISC ERROR CODE:335544321'#$D#$A#$D#$A
'ISC ERROR MESSAGE:'#$D#$A'arithmetic exception, numeric overflow, or string truncation'#$D#$A#$D#$A
'STATEMENT:'#$D#$A'TIBOInternalDataset: "<TIBOQueryM>.<TIBOInternalDataset>."'#$D#$A#$D#$A
If these commands are executed AFTER the implicit commit of "ALTER TABLE", everything works fine...
The text was updated successfully, but these errors were encountered: