1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Updates to comments on the VDBE opcodes.

FossilOrigin-Name: 49c05b4e08920797f3a5dd14c292e2275db61acb
This commit is contained in:
drh
2010-08-30 01:17:20 +00:00
parent 635a606160
commit 710c4841b0
3 changed files with 28 additions and 25 deletions

View File

@@ -1,5 +1,8 @@
C Fix\sproblem\swith\sfunc3.test. -----BEGIN PGP SIGNED MESSAGE-----
D 2010-08-28T19:09:30 Hash: SHA1
C Updates\sto\scomments\son\sthe\sVDBE\sopcodes.
D 2010-08-30T01:17:20
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -221,7 +224,7 @@ F src/update.c 1521162d20c2994af1fdc8833e1a88dae09052c8
F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685 F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685
F src/util.c 32aebf04c10e51ad3977a928b7416bed671b620b F src/util.c 32aebf04c10e51ad3977a928b7416bed671b620b
F src/vacuum.c 241a8386727c1497eba4955933356dfba6ff8c9f F src/vacuum.c 241a8386727c1497eba4955933356dfba6ff8c9f
F src/vdbe.c d735223ecacaa7f657f2e8fe3274cfc3fb4e3a04 F src/vdbe.c 6d787964983cc3b3bf5dae09e7f0a92190507630
F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2 F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2
F src/vdbeInt.h ffd68c4d4229227a5089bec53a1c635146177abc F src/vdbeInt.h ffd68c4d4229227a5089bec53a1c635146177abc
F src/vdbeapi.c d0f4407e465f261780ad725c1caece7d66a6aa35 F src/vdbeapi.c d0f4407e465f261780ad725c1caece7d66a6aa35
@@ -850,7 +853,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P 782ca3b716ee1ecb0dfb5ab6f21dfd73d41758e4 P aec52959d047d7c7b280319a8c84dc009d2cbf91
R bf8f7d662546a222b1efcdcc510d7291 R d42f696bda751354ebcfd7240343c8e5
U dan U drh
Z 8e8adb6e52e06c0b9ccded8857dd3597 Z 45433ffcac53a1d2bada2d04966671ff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFMewajoxKgR168RlERAgN2AJ0RaxPypP5uTi419TQ6rOf6X/AkAwCeOZap
llBX52cJqVTqMdulFKQX5hg=
=daOA
-----END PGP SIGNATURE-----

View File

@@ -1 +1 @@
aec52959d047d7c7b280319a8c84dc009d2cbf91 49c05b4e08920797f3a5dd14c292e2275db61acb

View File

@@ -961,11 +961,7 @@ case OP_Null: { /* out2-prerelease */
/* Opcode: Blob P1 P2 * P4 /* Opcode: Blob P1 P2 * P4
** **
** P4 points to a blob of data P1 bytes long. Store this ** P4 points to a blob of data P1 bytes long. Store this
** blob in register P2. This instruction is not coded directly ** blob in register P2.
** by the compiler. Instead, the compiler layer specifies
** an OP_HexBlob opcode, with the hex string representation of
** the blob as P4. This opcode is transformed to an OP_Blob
** the first time it is executed.
*/ */
case OP_Blob: { /* out2-prerelease */ case OP_Blob: { /* out2-prerelease */
assert( pOp->p1 <= SQLITE_MAX_LENGTH ); assert( pOp->p1 <= SQLITE_MAX_LENGTH );
@@ -1439,7 +1435,7 @@ case OP_Function: {
/* Opcode: ShiftLeft P1 P2 P3 * * /* Opcode: ShiftLeft P1 P2 P3 * *
** **
** Shift the integer value in register P2 to the left by the ** Shift the integer value in register P2 to the left by the
** number of bits specified by the integer in regiser P1. ** number of bits specified by the integer in register P1.
** Store the result in register P3. ** Store the result in register P3.
** If either input is NULL, the result is NULL. ** If either input is NULL, the result is NULL.
*/ */
@@ -1601,7 +1597,7 @@ case OP_ToNumeric: { /* same as TK_TO_NUMERIC, in1 */
/* Opcode: ToInt P1 * * * * /* Opcode: ToInt P1 * * * *
** **
** Force the value in register P1 be an integer. If ** Force the value in register P1 to be an integer. If
** The value is currently a real number, drop its fractional part. ** The value is currently a real number, drop its fractional part.
** If the value is text or blob, try to convert it to an integer using the ** If the value is text or blob, try to convert it to an integer using the
** equivalent of atoi() and store 0 if no such conversion is possible. ** equivalent of atoi() and store 0 if no such conversion is possible.
@@ -1642,7 +1638,7 @@ case OP_ToReal: { /* same as TK_TO_REAL, in1 */
** **
** If the SQLITE_JUMPIFNULL bit of P5 is set and either reg(P1) or ** If the SQLITE_JUMPIFNULL bit of P5 is set and either reg(P1) or
** reg(P3) is NULL then take the jump. If the SQLITE_JUMPIFNULL ** reg(P3) is NULL then take the jump. If the SQLITE_JUMPIFNULL
** bit is clear then fall thru if either operand is NULL. ** bit is clear then fall through if either operand is NULL.
** **
** The SQLITE_AFF_MASK portion of P5 must be an affinity character - ** The SQLITE_AFF_MASK portion of P5 must be an affinity character -
** SQLITE_AFF_TEXT, SQLITE_AFF_INTEGER, and so forth. An attempt is made ** SQLITE_AFF_TEXT, SQLITE_AFF_INTEGER, and so forth. An attempt is made
@@ -1801,8 +1797,8 @@ case OP_Permutation: {
/* Opcode: Compare P1 P2 P3 P4 * /* Opcode: Compare P1 P2 P3 P4 *
** **
** Compare to vectors of registers in reg(P1)..reg(P1+P3-1) (all this ** Compare two vectors of registers in reg(P1)..reg(P1+P3-1) (call this
** one "A") and in reg(P2)..reg(P2+P3-1) ("B"). Save the result of ** vector "A") and in reg(P2)..reg(P2+P3-1) ("B"). Save the result of
** the comparison for use by the next OP_Jump instruct. ** the comparison for use by the next OP_Jump instruct.
** **
** P4 is a KeyInfo structure that defines collating sequences and sort ** P4 is a KeyInfo structure that defines collating sequences and sort
@@ -2345,12 +2341,9 @@ case OP_Affinity: {
/* Opcode: MakeRecord P1 P2 P3 P4 * /* Opcode: MakeRecord P1 P2 P3 P4 *
** **
** Convert P2 registers beginning with P1 into a single entry ** Convert P2 registers beginning with P1 into the [record format]
** suitable for use as a data record in a database table or as a key ** use as a data record in a database table or as a key
** in an index. The details of the format are irrelevant as long as ** in an index. The OP_Column opcode can decode the record later.
** the OP_Column opcode can decode the record later.
** Refer to source code comments for the details of the record
** format.
** **
** P4 may be a string that is P2 characters long. The nth character of the ** P4 may be a string that is P2 characters long. The nth character of the
** string indicates the column affinity that should be used for the nth ** string indicates the column affinity that should be used for the nth
@@ -3542,7 +3535,7 @@ case OP_IsUnique: { /* jump, in3 */
** **
** Use the content of register P3 as a integer key. If a record ** Use the content of register P3 as a integer key. If a record
** with that key does not exist in table of P1, then jump to P2. ** with that key does not exist in table of P1, then jump to P2.
** If the record does exist, then fall thru. The cursor is left ** If the record does exist, then fall through. The cursor is left
** pointing to the record if it exists. ** pointing to the record if it exists.
** **
** The difference between this operation and NotFound is that this ** The difference between this operation and NotFound is that this