From: drh Date: Tue, 15 May 2007 14:17:25 +0000 (+0000) Subject: Change the documentation to clearly state that the result of X-Git-Tag: version-3.4.0~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76cb812d2560a7c35b698631ec45b3f5b40cab38;p=thirdparty%2Fsqlite.git Change the documentation to clearly state that the result of sqlite3_column_type() is undefined following a type conversion. (CVS 4007) FossilOrigin-Name: 960be575e2b062a34c96d006e411ad34ded58063 --- diff --git a/manifest b/manifest index 2cacd98645..ed2195993b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -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 @@ -447,7 +447,7 @@ F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0 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 @@ -491,7 +491,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 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 diff --git a/manifest.uuid b/manifest.uuid index 2661476a8a..ebf6f07b4d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b5e85deb5a0316781a6f39d6085b9fcfb9f88c6d \ No newline at end of file +960be575e2b062a34c96d006e411ad34ded58063 \ No newline at end of file diff --git a/www/capi3ref.tcl b/www/capi3ref.tcl index 7c5214e3e5..de0f1de48f 100644 --- a/www/capi3ref.tcl +++ b/www/capi3ref.tcl @@ -1,4 +1,4 @@ -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 { @@ -158,9 +158,9 @@ api {} { #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. @@ -172,7 +172,9 @@ api {} { 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. @@ -217,15 +219,17 @@ api {} { } { 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 {} { @@ -391,6 +395,15 @@ int sqlite3_column_type(sqlite3_stmt*, int iCol); 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