-C Fix\sto\scheck-in\s(4005).\s\sA\scall\sto\ssqlite3_column_blob()\sshould\snot\smake\nsubsequent\scalls\sto\ssqlite3_column_type()\sreturn\sSQLITE_BLOB.\nSqlite3_column_type()\sreturns\sthe\sinitial\stype.\s(CVS\s4006)
-D 2007-05-15T14:10:40
+C Change\sthe\sdocumentation\sto\sclearly\sstate\sthat\sthe\sresult\sof\nsqlite3_column_type()\sis\sundefined\sfollowing\sa\stype\sconversion.\s(CVS\s4007)
+D 2007-05-15T14:17:25
F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F www/autoinc.tcl b357f5ba954b046ee35392ce0f884a2fcfcdea06
F www/c_interface.tcl b51b08591554c16a0c3ef718364a508ac25abc7e
F www/capi3.tcl 88884dd743039d1a95aa57f4a5eb369de7744716
-F www/capi3ref.tcl 31da5635eb64ab0f47c71b93b131a6bcb1ddebc9
+F www/capi3ref.tcl 8f1a17a10d95b48385ec4608449279274125c88a
F www/changes.tcl 550300b0ff00fc1b872f7802b2d5a1e7587d3e58
F www/common.tcl 2b793e5c31486c8a01dd27dc0a631ad93704438e
F www/compile.tcl 276546d7eb445add5a867193bbd80f6919a6b084
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P cf2dd45b58380de7f3e167b5357848d12872caa3
-R c70e0740af8fc22bb0f88652371152ba
+P b5e85deb5a0316781a6f39d6085b9fcfb9f88c6d
+R 2c94f4739f016800a57525b336740acc
U drh
-Z 8f2f5d1cc7ed3029aa9c988b8eb2451c
+Z 5d300394ab97e7ae63df9330c51a060a
-set rcsid {$Id: capi3ref.tcl,v 1.58 2007/05/15 13:27:08 drh Exp $}
+set rcsid {$Id: capi3ref.tcl,v 1.59 2007/05/15 14:17:25 drh Exp $}
source common.tcl
header {C/C++ Interface For SQLite Version 3}
puts {
#define SQLITE_TRANSIENT ((void(*)(void *))-1)
} {
In the SQL strings input to sqlite3_prepare_v2() and sqlite3_prepare16_v2(),
- one or more literals can be replace by a parameter "?" or ":AAA" or
- "@AAA" or "\$VVV"
- where AAA is an alphanumeric identifier and VVV is a variable name according
+ one or more literals can be replace by a parameter "?" or "?NNN"
+ or ":AAA" or "@AAA" or "\$VVV" where NNN is an integer literal,
+ AAA is an alphanumeric identifier and VVV is a variable name according
to the syntax rules of the TCL programming language.
The values of these parameters (also called "host parameter names")
can be set using the sqlite3_bind_*() routines.
and subsequent
occurrences have the same index as the first occurrence. The index for
named parameters can be looked up using the
- sqlite3_bind_parameter_name() API if desired.
+ sqlite3_bind_parameter_name() API if desired. The index for "?NNN"
+ parametes is the value of NNN. The NNN value must be between 1 and 999.
+
The third argument is the value to bind to the parameter.
} {
Return the name of the n-th parameter in the precompiled statement.
Parameters of the form ":AAA" or "@AAA" or "\$VVV" have a name which is the
- string ":AAA" or "\$VVV". In other words, the initial ":" or "$" or "@"
+ string ":AAA" or "@AAA" or "\$VVV".
+ In other words, the initial ":" or "$" or "@"
is included as part of the name.
- Parameters of the form "?" have no name.
+ Parameters of the form "?" or "?NNN" have no name.
The first bound parameter has an index of 1, not 0.
If the value n is out of range or if the n-th parameter is nameless,
then NULL is returned. The returned string is always in the
- UTF-8 encoding.
+ UTF-8 encoding even if the named parameter was originally specified
+ as UTF-16 in sqlite3_prepare16_v2().
}
api {} {
If the SQL statement is not currently point to a valid row, or if the
the column index is out of range, the result is undefined.
+ The sqlite3_column_type() routine returns the initial data type
+ of the result column. The returned value is one of SQLITE_INTEGER,
+ SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL. The value
+ returned by sqlite3_column_type() is only meaningful if no type
+ conversions have occurred as described below. After a type conversion,
+ the value returned by sqlite3_column_type() is undefined. Future
+ versions of SQLite may change the behavior of sqlite3_column_type()
+ following a type conversion.
+
If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes()
routine returns the number of bytes in that BLOB or string.
If the result is a UTF-16 string, then sqlite3_column_bytes() converts