create table t(n number, v varchar2(10));
insert into t values (1, 'one')
explain select * from t where 0 < n;

addr  opcode         p1    p2    p3    p4             p5  comment
----  -------------  ----  ----  ----  -------------  --  -------------
0     Init           0     11    0                    00  Start at 11
1     OpenRead       0     2     0     2              00  root=2 iDb=0; t
2     Rewind         0     9     0                    00
3       Column         0     0     1                    00  r[1]=t.n
4       Le             2     8     1     (BINARY)       53  if r[2]<=r[1] goto 8
5       Copy           1     3     0                    00  r[3]=r[1]
6       Column         0     1     4                    00  r[4]=t.v
7       ResultRow      3     2     0                    00  output=r[3..4]
8     Next           0     3     0                    01
9     Close          0     0     0                    00
10    Halt           0     0     0                    00
11    Transaction    0     0     2     1              01  usesStmtJournal=0
12    TableLock      0     2     0     t              00  iDb=0 root=2 write=0
13    Integer        0     2     0                    00  r[2]=0
14    Goto           0     1     0                    00

The line 4 seems wrong for me, because t.n(r[1]) should be <= than
0(r[2]) to be ignored (goto 8). Here what we see: "if r[2]<=r[1] goto
8" - vise versa.

Egor.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to