Seems like the Close (0) Opcode (expected at line 10.5 and 16.5 respectively) 
is suspiciously missing from the generated program. I guess this will be 
handled in Halt (where it was probably checked anyway all along). But the 
VUpdate opcode is still outside the VNext loop.

-----Ursprüngliche Nachricht-----
Von: sqlite-users [mailto:[email protected]] Im 
Auftrag von Bob Friesenhahn
Gesendet: Mittwoch, 29. März 2017 17:05
An: SQLite mailing list <[email protected]>
Betreff: Re: [sqlite] VT table behavior change between 3.10 and 3.17

On Wed, 29 Mar 2017, Hick Gunter wrote:

> Can you provide an example of the bytecode produced?

sqlite> .explain
sqlite> explain delete from device_cfgrecord where name == 'bar';
addr  opcode         p1    p2    p3    p4             p5  comment
----  -------------  ----  ----  ----  -------------  --
-------------
0     Init           0     15    0                    00
1     Null           0     1     0                    00
2     VOpen          0     0     0     vtab:CB1700    00
3     Integer        0     2     0                    00
4     Integer        0     3     0                    00
5     VFilter        0     11    2                    00
6       VColumn        0     1     4                    00
7       Ne             5     10    4     (BINARY)       52
8       Rowid          0     6     0                    00
9       RowSetAdd      1     6     0                    00
10    VNext          0     6     0                    00
11      RowSetRead     1     14    6                    00
12      VUpdate        0     1     6     vtab:CB1700    02
13    Goto           0     11    0                    00
14    Halt           0     0     0                    00
15    Transaction    0     1     724   0              01
16    VBegin         0     0     0     vtab:CB1700    00
17    String8        0     5     0     bar            00
18    Goto           0     1     0                    00

sqlite> explain update device_cfgrecord set value = 'gumby' where name
== 'bar';
addr  opcode         p1    p2    p3    p4             p5  comment
----  -------------  ----  ----  ----  -------------  --
-------------
0     Init           0     27    0                    00
1     OpenEphemeral  1     5     0                    00
2     VOpen          0     0     0     vtab:CB1700    00
3     Integer        0     8     0                    00
4     Integer        0     9     0                    00
5     VFilter        0     17    8                    00
6       VColumn        0     1     10                   00
7       Ne             11    16    10    (BINARY)       52
8       Rowid          0     1     0                    00
9       Rowid          0     2     0                    00
10      VColumn        0     0     3                    00
11      VColumn        0     1     4                    00
12      String8        0     5     0     gumby          00
13      MakeRecord     1     5     6                    00
14      NewRowid       1     7     0                    00
15      Insert         1     6     7                    00
16    VNext          0     6     0                    00
17    Rewind         1     25    0                    00
18      Column         1     0     1                    00
19      Column         1     1     2                    00
20      Column         1     2     3                    00
21      Column         1     3     4                    00
22      Column         1     4     5                    00
23      VUpdate        0     5     1     vtab:CB1700    02
24    Next           1     18    0                    00
25    Close          1     0     0                    00
26    Halt           0     0     0                    00
27    Transaction    0     1     724   0              01
28    VBegin         0     0     0     vtab:CB1700    00
29    String8        0     11    0     bar            00
30    Goto           0     1     0                    00

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


___________________________________________
 Gunter Hick
Software Engineer
Scientific Games International GmbH
FN 157284 a, HG Wien
Klitschgasse 2-4, A-1130 Vienna, Austria
Tel: +43 1 80100 0
E-Mail: [email protected]

This communication (including any attachments) is intended for the use of the 
intended recipient(s) only and may contain information that is confidential, 
privileged or legally protected. Any unauthorized use or dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please immediately notify the sender by return e-mail message and 
delete all copies of the original communication. Thank you for your cooperation.


_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to