]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge EXPLAIN enhancements from trunk.
authordrh <drh@noemail.net>
Wed, 30 Oct 2013 02:37:50 +0000 (02:37 +0000)
committerdrh <drh@noemail.net>
Wed, 30 Oct 2013 02:37:50 +0000 (02:37 +0000)
FossilOrigin-Name: 2fcac056074f0a23884ab5425003a7ca1d35c2a8

1  2 
manifest
manifest.uuid
src/sqliteInt.h
src/vdbe.c
src/vdbeaux.c

diff --cc manifest
index a17919ee098c5eef5da3cf8e4cdb3ece9bbdc832,7515e3a471b50579c1a501d0bed2c47eb9a2d86f..1ea2e4a1dc299c0a219dfdd77ae59d40f0e26d60
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Import\sthe\sautomatic\scomment\sgenerating\schanges\sfrom\strunk.
- D 2013-10-29T20:47:26.079
 -C Add\sthe\sSQLITE_ENABLE_EXPLAIN_COMMENTS\scompile-time\soption\sto\senable\sextra\ncommentary\sin\sthe\sEXPLAIN\soutput.\s\sFormerly,\sthis\swas\sonly\savailable\swith\nSQLITE_DEBUG.
 -D 2013-10-30T02:28:23.508
++C Merge\sEXPLAIN\senhancements\sfrom\strunk.
++D 2013-10-30T02:37:50.150
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
  F Makefile.in 0522b53cdc1fcfc18f3a98e0246add129136c654
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@@ -223,7 -223,7 +223,7 @@@ F src/shell.c d5eebdc6034014103de2b9d58
  F src/sqlite.h.in 547a44dd4ff4d975e92a645ea2d609e543a83d0f
  F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e
  F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc
- F src/sqliteInt.h 2653257af49bf87af81d7c35899297043f10879a
 -F src/sqliteInt.h 6eff1bbd7e687510c4d5a2aea915b50a51001eb2
++F src/sqliteInt.h 03e6459326d16123441ada0a053163fd1e2e341d
  F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
  F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
@@@ -274,18 -274,18 +274,18 @@@ F src/test_vfs.c e72f555ef7a59080f898fc
  F src/test_vfstrace.c 34b544e80ba7fb77be15395a609c669df2e660a2
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/tokenize.c 70061085a51f2f4fc15ece94f32c03bcb78e63b2
- F src/trigger.c ba0a883cd536b7dfdd4df3733001f5372a4299da
+ F src/trigger.c 53d6b5d50b3b23d4fcd0a36504feb5cff9aed716
 -F src/update.c f5182157f5d0d0a97bc5f5e3c9bdba0dfbe08f08
 +F src/update.c e39378bc5ed0c42e80624229703e59b5c7a4d50a
  F src/utf.c 6fc6c88d50448c469c5c196acf21617a24f90269
  F src/util.c 2fa6c821d28bbdbeec1b2a7b091a281c9ef8f918
 -F src/vacuum.c f313bc97123a4dd4bfd3f50a00c4d44c08a5b1b7
 -F src/vdbe.c de4018a314991d41f9b8fb68a17a04471076675d
 +F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
- F src/vdbe.c cb3df2d7b2ebadf22a39efcfb12a1277e273616e
- F src/vdbe.h 4f554b5627f26710c4c36d919110a3fc611ca5c4
++F src/vdbe.c 3c98b77343f8a1f4624b86795bf29cfd008b0e4a
+ F src/vdbe.h 6bdee35c54d57fd52733d4c542781820009311dc
 -F src/vdbeInt.h ff57f67aee1ba26a3a47e786533dab155ab6dad6
 +F src/vdbeInt.h 42dcff74dbeb2b071e569b53f885fc9c2e4b4cb0
  F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed
- F src/vdbeaux.c 3c36d92d3ad7225e0436474f4256243e5ceaeabb
 -F src/vdbeaux.c 1cbff05cb4c6618d805b4d4efc15d31af0f47f0d
 -F src/vdbeblob.c 5dc79627775bd9a9b494dd956e26297946417d69
 -F src/vdbemem.c 649933bad3e922465b726eaf85c72a75acba2ab7
++F src/vdbeaux.c 4b01ac1c84534cd5a240dffba6e8173aeff628c5
 +F src/vdbeblob.c ef973d8d9f8170015343dd8824f795da675caa87
 +F src/vdbemem.c 6087553f2c61c06c8e1ab3959a60e174d6240c98
  F src/vdbesort.c 3937e06b2a0e354500e17dc206ef4c35770a5017
  F src/vdbetrace.c e7ec40e1999ff3c6414424365d5941178966dcbc
  F src/vtab.c 5a423b042eb1402ef77697d03d6a67378d97bc8d
@@@ -1127,7 -1126,7 +1127,7 @@@ F tool/vdbe-compress.tcl f12c884766bd14
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
  F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
- P 141a38a7a636e3e4255b59c27df4a1b3d6f26e97 5f310c6a22b8bb5f860296074aee130c14101681
- R 092c8ad63995bcb3387c2f88e6abbbb4
 -P d6b0c39281d0751ecec04d7c19d9d2931d133e8e
 -R 97e786a08b0a2c7a14cb84c2e159324e
++P 8bb51da1305d5e35c7b75bbb176c21e04ea2a48a e1a89b56f7173166bb9224e2e360fd67ad3399c3
++R 880887149918aa46e6b88c9f75c81815
  U drh
- Z 2daff0292132d8122decef0d377e8179
 -Z 1b6acaf0339443874185cc93aaa66a02
++Z 77a0862498d22b2e5464d4447bba8799
diff --cc manifest.uuid
index bc00d078462243303ab956f8137795af4dbe928c,04847cc775b307adbe4a83626487be3e4b497c30..5eb709e725dba6a405d46912aadb256457ff2e26
@@@ -1,1 -1,1 +1,1 @@@
- 8bb51da1305d5e35c7b75bbb176c21e04ea2a48a
 -e1a89b56f7173166bb9224e2e360fd67ad3399c3
++2fcac056074f0a23884ab5425003a7ca1d35c2a8
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/vdbe.c
index f0400a64dc392a1a6bb3c923df29a896cdba46c2,4b922ee73b072d3012689b34523e907f4cb3766f..1dd8757f4ba279c18cfa939a7afe1bcd047370ab
@@@ -1132,7 -1132,7 +1132,7 @@@ case OP_SCopy: {            /* in1, out
  }
  
  /* Opcode: ResultRow P1 P2 * * *
--** Synopsis:  output=r[P1].. columns=P1
++** Synopsis:  output=r[P1@P2]
  **
  ** The registers P1 through P1+P2-1 contain a single row of
  ** results. This opcode causes the sqlite3_step() call to terminate
@@@ -3667,11 -3667,9 +3667,11 @@@ case OP_Seek: {    /* in2 *
  ** Cursor P1 is on an index btree.  If the record identified by P3 and P4
  ** is a prefix of any entry in P1 then a jump is made to P2 and
  ** P1 is left pointing at the matching entry.
 +**
 +** See also: NotFound, NoConflict, NotExists. SeekGe
  */
  /* Opcode: NotFound P1 P2 P3 P4 *
- ** Synopsis: key=r[P3] N=P4
+ ** Synopsis: key=r[P3@P4]
  **
  ** If P4==0 then register P3 holds a blob constructed by MakeRecord.  If
  ** P4>0 then register P3 is the first of P4 registers that form an unpacked
  ** falls through to the next instruction and P1 is left pointing at the
  ** matching entry.
  **
 -** See also: Found, NotExists, IsUnique
 +** See also: Found, NotExists, NoConflict
 +*/
 +/* Opcode: NoConflict P1 P2 P3 P4 *
++** Synopsis: key=r[P3@P4]
 +**
 +** If P4==0 then register P3 holds a blob constructed by MakeRecord.  If
 +** P4>0 then register P3 is the first of P4 registers that form an unpacked
 +** record.
 +** 
 +** Cursor P1 is on an index btree.  If the record identified by P3 and P4
 +** contains any NULL value, jump immediately to P2.  If all terms of the
 +** record are not-NULL then a check is done to determine if any row in the
 +** P1 index btree has a matching key prefix.  If there are no matches, jump
 +** immediately to P2.  If there is a match, fall through and leave the P1
 +** cursor pointing to the matching row.
 +**
 +** This opcode is similar to OP_NotFound with the exceptions that the
 +** branch is always taken if any part of the search key input is NULL.
 +**
 +** See also: NotFound, Found, NotExists
  */
 +case OP_NoConflict:     /* jump, in3 */
  case OP_NotFound:       /* jump, in3 */
  case OP_Found: {        /* jump, in3 */
    int alreadyExists;
diff --cc src/vdbeaux.c
Simple merge