Hi all,

SQLite version 3.5.3 - with custom virtual table module.

I am having a problem with assertion failure following processing of an INSERT 
statement relative to a virtual table.  Everything works through the call for 
VUpdate, then it asserts in vdbe.o in leg for Dup.  I'm wondering if this is a 
bug in SQLite vdbe code generation.  What is the purpose of Dup following 
VUpdate below?  I have duplicated the problem on two different architectures.


sqlite> explain insert into t1 values (0,'foo', 0);
0|Goto|0|16|
1|Null|0|0|
2|Null|0|0|
3|Integer|0|0|
4|String8|0|0|foo
5|Integer|0|0|
6|VUpdate|1|5|vtab:9E002B8:FD0A60
7|Dup|2|1|
8|NotNull|1|10|
9|Halt|19|2|T1.X may not be NULL
10|Dup|0|1|
11|NotNull|1|13|
12|Halt|19|2|T1.Z may not be NULL
13|MakeRecord|3|0|dad
14|Insert|0|3|T1
15|Halt|0|0|
16|Transaction|0|1|
17|VerifyCookie|0|2|
18|VBegin|0|0|vtab:9E002B8:FD0A60
19|Goto|0|1|
20|Noop|0|0|
sqlite> insert into t1 values (0,'foo', 0);
sqlite3: ../../../../Source/sqlite-3.5.3-hp/src/vdbe.c:893: sqlite3VdbeExec: 
Assertion `pFrom<=pTos && pFrom>=p->aStack' failed.
Abort (core dumped)
[EMAIL PROTECTED] MSE]$

Many thanks,
Mark

Reply via email to