Add flags values to the Mem structure to accomodate BLOBs and to show
the representation of strings. (CVS 1341) FossilOrigin-Name: 3af283f483f75795d5b03dc8fd886aaf326d50b7
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Change\sthe\snames\sof\sexternal\ssymbols\sfrom\ssqlite_XXX\sto\ssqlite3_XXX.\s(CVS\s1340)
|
||||
D 2004-05-10T10:37:19
|
||||
C Add\sflags\svalues\sto\sthe\sMem\sstructure\sto\saccomodate\sBLOBs\sand\sto\sshow\nthe\srepresentation\sof\sstrings.\s(CVS\s1341)
|
||||
D 2004-05-10T12:07:11
|
||||
F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
|
||||
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
|
||||
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
|
||||
@@ -65,7 +65,7 @@ F src/util.c 74ee316594f68c41aed1884d737ab4085d479455
|
||||
F src/vacuum.c c134702e023db8778e6be59ac0ea7b02315b5476
|
||||
F src/vdbe.c 5cd18c8a3ab826f02ef1ce88a5798ec744337b30
|
||||
F src/vdbe.h 2dc4d1161b64f5684faa6a2d292e318a185ecb2e
|
||||
F src/vdbeInt.h 742e257653aa4249fef3c4313f7e414387b6d7f6
|
||||
F src/vdbeInt.h 2567223b73d8807d61f8141d9f5e5f7f2975f50a
|
||||
F src/vdbeaux.c 943484a2437b6cf40d1ffd3d62e48b5c9a043c5a
|
||||
F src/where.c 487e55b1f64c8fbf0f46a9a90c2247fc45ae6a9a
|
||||
F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
|
||||
@@ -187,7 +187,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
|
||||
F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
|
||||
F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
|
||||
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
|
||||
P 19b100ec0d088b2cca147c967a80d18403b7ee86
|
||||
R f2908d3295f9c85321a4f31d49755326
|
||||
U danielk1977
|
||||
Z a170a8ad66f9cc57576a3dbf5696300c
|
||||
P ac46bd686d2211813d254af578fe4e211162bc4b
|
||||
R 4a9fc99f56e83c67635aeaf2f3df4688
|
||||
U drh
|
||||
Z 2e2c13a294ecee6121fff95c45eff825
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
ac46bd686d2211813d254af578fe4e211162bc4b
|
||||
3af283f483f75795d5b03dc8fd886aaf326d50b7
|
||||
+21
-9
@@ -114,22 +114,37 @@ struct Mem {
|
||||
int n; /* Number of characters in string value, including '\0' */
|
||||
int flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */
|
||||
double r; /* Real value */
|
||||
char *z; /* String value */
|
||||
char *z; /* String or BLOB value */
|
||||
char zShort[NBFS]; /* Space for short strings */
|
||||
};
|
||||
typedef struct Mem Mem;
|
||||
|
||||
/*
|
||||
** Allowed values for Mem.flags
|
||||
** Allowed values for Mem.flags.
|
||||
**
|
||||
** The first 5 values determine the data type(s). Null and Blob must
|
||||
** occur alone. But Str, Int, and Real can occur together.
|
||||
**
|
||||
** The next 3 utf entries determine the text representation for strings.
|
||||
** These values are only meaningful if the type is Str.
|
||||
**
|
||||
** The last 4 values specify what kind of memory Mem.z points to.
|
||||
** These valus are only meaningful if the Str or Blob types are used.
|
||||
*/
|
||||
#define MEM_Null 0x0001 /* Value is NULL */
|
||||
#define MEM_Str 0x0002 /* Value is a string */
|
||||
#define MEM_Int 0x0004 /* Value is an integer */
|
||||
#define MEM_Real 0x0008 /* Value is a real number */
|
||||
#define MEM_Dyn 0x0010 /* Need to call sqliteFree() on Mem.z */
|
||||
#define MEM_Static 0x0020 /* Mem.z points to a static string */
|
||||
#define MEM_Ephem 0x0040 /* Mem.z points to an ephemeral string */
|
||||
#define MEM_Short 0x0080 /* Mem.z points to Mem.zShort */
|
||||
#define MEM_Blob 0x0010 /* Value is a BLOB */
|
||||
|
||||
#define MEM_Utf8 0x0020 /* String uses UTF-8 encoding */
|
||||
#define MEM_Utf16be 0x0040 /* String uses UTF-16 big-endian */
|
||||
#define MEM_Utf16le 0x0080 /* String uses UTF-16 little-endian */
|
||||
|
||||
#define MEM_Dyn 0x0100 /* Need to call sqliteFree() on Mem.z */
|
||||
#define MEM_Static 0x0200 /* Mem.z points to a static string */
|
||||
#define MEM_Ephem 0x0400 /* Mem.z points to an ephemeral string */
|
||||
#define MEM_Short 0x0800 /* Mem.z points to Mem.zShort */
|
||||
|
||||
/* The following MEM_ value appears only in AggElem.aMem.s.flag fields.
|
||||
** It indicates that the corresponding AggElem.aMem.z points to a
|
||||
@@ -306,6 +321,3 @@ int sqlite3VdbeSerialLen(const Mem *);
|
||||
int sqlite3VdbeDeserialize(Mem *, const unsigned char *);
|
||||
|
||||
int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user