Hi all,

It's nit-picking time...

I'm writing a virtual table module and ran into a little gotcha.  The
INSERT syntax allows one to specify NULL as a column value or to omit a
column name.  Compare:

        insert into T(a,c) values (1,2)   ---- take default value for
column B if any

versus

        insert into T values (1, NULL, 2)  ---- set B to NULL


For normal tables SQLite is able to distinguish the two cases and behave
as indicated by margin comment.  It appears, however, that the call to
virtual table module xUpdate() passes a NULL value object for column B
in both of the above cases.  It would have been nice if the column value
array passed into xUpdate had pointer value 0 for any omitted column as
in case 1 above, and a pointer to a NULL object for second case.

Or have I missed a way to distinguish these cases?


Thanks,
Mark

Reply via email to