Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
760333de65328281137e02423904f860 |
User & Date: | drh 2008-12-04 12:17:30.000 |
Context
2008-12-04
| ||
12:26 | Fix a memory leak in the shell that occurs when a ".import" command fails. Ticket #3517 (CVS 5975) (check-in: cb9c15431c user: drh tags: trunk) | |
12:17 | Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) (check-in: 760333de65 user: drh tags: trunk) | |
2008-12-03
| ||
23:23 | Allow the entire FROM clause of a SELECT statement to be in parentheses. (CVS 5973) (check-in: 72ebc8cbe0 user: drh tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** ** $Id: vdbe.c,v 1.789 2008/12/04 12:17:30 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> #include "vdbeInt.h" /* ** The following global variable is incremented every time a cursor |
︙ | ︙ | |||
928 929 930 931 932 933 934 | ** Write a NULL into register P2. */ case OP_Null: { /* out2-prerelease */ break; } | < < | 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 | ** Write a NULL into register P2. */ case OP_Null: { /* out2-prerelease */ break; } /* Opcode: Blob P1 P2 * P4 ** ** P4 points to a blob of data P1 bytes long. Store this ** blob in register P2. This instruction is not coded directly ** 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 */ assert( pOp->p1 <= SQLITE_MAX_LENGTH ); sqlite3VdbeMemSetStr(pOut, pOp->p4.z, pOp->p1, 0, 0); pOut->enc = encoding; UPDATE_MAX_BLOBSIZE(pOut); break; } /* Opcode: Variable P1 P2 * * * ** ** The value of variable P1 is written into register P2. A variable is ** an unknown in the original SQL string as handed to sqlite3_compile(). ** Any occurrence of the '?' character in the original SQL is considered ** a variable. Variables in the SQL string are number from left to |
︙ | ︙ |