Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add the experimental "quote()" function to the set of build-in functions. (CVS 1077) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9699c68508db5da6238904e518835a62 |
User & Date: | drh 2003-08-20 01:03:34.000 |
Context
2003-08-21
| ||
14:36 | Update the -version-info number on libtool in Makefile.in. (CVS 1078) (check-in: dc36365eea user: drh tags: trunk) | |
2003-08-20
| ||
01:03 | Add the experimental "quote()" function to the set of build-in functions. (CVS 1077) (check-in: 9699c68508 user: drh tags: trunk) | |
2003-08-19
| ||
14:31 | Add the "onecolumn" method to the TCL language bindings. (CVS 1076) (check-in: c7b4c28fbc user: drh tags: trunk) | |
Changes
Changes to src/func.c.
︙ | ︙ | |||
12 13 14 15 16 17 18 | ** This file contains the C functions that implement various SQL ** functions of SQLite. ** ** There is only one exported symbol in this file - the function ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ** This file contains the C functions that implement various SQL ** functions of SQLite. ** ** There is only one exported symbol in this file - the function ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** ** $Id: func.c,v 1.29 2003/08/20 01:03:34 drh Exp $ */ #include <ctype.h> #include <math.h> #include <stdlib.h> #include <assert.h> #include "sqliteInt.h" #include "os.h" |
︙ | ︙ | |||
251 252 253 254 255 256 257 258 259 260 261 262 263 264 | /* ** Implementation of the VERSION(*) function. The result is the version ** of the SQLite library that is running. */ static void versionFunc(sqlite_func *context, int argc, const char **argv){ sqlite_set_result_string(context, sqlite_version, -1); } #ifdef SQLITE_SOUNDEX /* ** Compute the soundex encoding of a word. */ static void soundexFunc(sqlite_func *context, int argc, const char **argv){ char zResult[8]; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | /* ** Implementation of the VERSION(*) function. The result is the version ** of the SQLite library that is running. */ static void versionFunc(sqlite_func *context, int argc, const char **argv){ sqlite_set_result_string(context, sqlite_version, -1); } /* ** EXPERIMENTAL - This is not an official function. The interface may ** change. This function may disappear. Do not write code that depends ** on this function. ** ** Implementation of the QUOTE() function. This function takes a single ** argument. If the argument is numeric, the return value is the same as ** the argument. If the argument is NULL, the return value is the string ** "NULL". Otherwise, the argument is enclosed in single quotes with ** single-quote escapes. */ static void quoteFunc(sqlite_func *context, int argc, const char **argv){ if( argc<1 ) return; if( argv[0]==0 ){ sqlite_set_result_string(context, "NULL", 4); }else if( sqliteIsNumber(argv[0]) ){ sqlite_set_result_string(context, argv[0], -1); }else{ int i,j,n; char *z; for(i=n=0; argv[0][i]; i++){ if( argv[0][i]=='\'' ) n++; } z = sqliteMalloc( i+n+3 ); if( z==0 ) return; z[0] = '\''; for(i=0, j=1; argv[0][i]; i++){ z[j++] = argv[0][i]; if( argv[0][i]=='\'' ){ z[j++] = '\''; } } z[j++] = '\''; z[j] = 0; sqlite_set_result_string(context, z, j); sqliteFree(z); } } #ifdef SQLITE_SOUNDEX /* ** Compute the soundex encoding of a word. */ static void soundexFunc(sqlite_func *context, int argc, const char **argv){ char zResult[8]; |
︙ | ︙ | |||
826 827 828 829 830 831 832 833 834 835 836 837 838 839 | { "coalesce", 1, 0, 0 }, { "ifnull", 2, SQLITE_ARGS, ifnullFunc }, { "random", -1, SQLITE_NUMERIC, randomFunc }, { "like", 2, SQLITE_NUMERIC, likeFunc }, { "glob", 2, SQLITE_NUMERIC, globFunc }, { "nullif", 2, SQLITE_ARGS, nullifFunc }, { "sqlite_version",0,SQLITE_TEXT, versionFunc}, #ifndef SQLITE_OMIT_DATETIME_FUNCS { "julianday", -1, SQLITE_NUMERIC, juliandayFunc }, { "timestamp", -1, SQLITE_TEXT, timestampFunc }, { "time", -1, SQLITE_TEXT, timeFunc }, { "date", -1, SQLITE_TEXT, dateFunc }, { "year", -1, SQLITE_NUMERIC, yearFunc }, { "month", -1, SQLITE_NUMERIC, monthFunc }, | > | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 | { "coalesce", 1, 0, 0 }, { "ifnull", 2, SQLITE_ARGS, ifnullFunc }, { "random", -1, SQLITE_NUMERIC, randomFunc }, { "like", 2, SQLITE_NUMERIC, likeFunc }, { "glob", 2, SQLITE_NUMERIC, globFunc }, { "nullif", 2, SQLITE_ARGS, nullifFunc }, { "sqlite_version",0,SQLITE_TEXT, versionFunc}, { "quote", 1, SQLITE_ARGS, quoteFunc }, #ifndef SQLITE_OMIT_DATETIME_FUNCS { "julianday", -1, SQLITE_NUMERIC, juliandayFunc }, { "timestamp", -1, SQLITE_TEXT, timestampFunc }, { "time", -1, SQLITE_TEXT, timeFunc }, { "date", -1, SQLITE_TEXT, dateFunc }, { "year", -1, SQLITE_NUMERIC, yearFunc }, { "month", -1, SQLITE_NUMERIC, monthFunc }, |
︙ | ︙ |