]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove the show_datatypes pragma. (CVS 1461)
authordanielk1977 <danielk1977@noemail.net>
Wed, 26 May 2004 06:58:43 +0000 (06:58 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Wed, 26 May 2004 06:58:43 +0000 (06:58 +0000)
FossilOrigin-Name: 93bb958d939302795027f738b8f663cbce3e8783

manifest
manifest.uuid
src/main.c
src/pragma.c
src/sqliteInt.h
src/test1.c
test/pragma.test

index 6ccebcf07b652bc10d685baa98e5d5176f12c8f1..9a953ef93cf5a6f1be3f168dd41167c05cb90390 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Use\sthe\snew\sform\sof\sthe\ssqlite3_create_function()\sAPI.\s(CVS\s1460)
-D 2004-05-26T06:18:37
+C Remove\sthe\sshow_datatypes\spragma.\s(CVS\s1461)
+D 2004-05-26T06:58:44
 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -37,7 +37,7 @@ F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
 F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
 F src/insert.c 48bb15bff280767684a0f9ee4ae5973c9504f880
 F src/legacy.c a856d2d5317ed2ac93c2c6cbba7d4faa564a5b20
-F src/main.c bb49b5a4394e94a56ea25d71bfdfb924bd43b7b6
+F src/main.c 2f144d7576413d73e146cb6f9fc33d5169610f8c
 F src/md5.c 833671b541a76fc0e62404433c9176706eeacdf0
 F src/os.h ab42f4a7c4c716f26b988e759b6e12085a3bfc67
 F src/os_common.h 744286a27de55c52f1b18921e8d17abbf7fafc0f
@@ -50,16 +50,16 @@ F src/os_win.h 5d41af24caaef6c13a2d8e2399caa1c57d45c84d
 F src/pager.c 6ff6b906427d4824099140776cb8768f922f3dc5
 F src/pager.h 78a00ac280899bcba1a89dc51585dcae6b7b3253
 F src/parse.y 567718866b94d58a6c7681cc45ba7987771d583a
-F src/pragma.c 02b57adda458874eddc2bd71d56d02e496759a97
+F src/pragma.c aa6a887017a512aba8c6bd9cd7c235b536a2b2f3
 F src/printf.c ef750e8e2398ca7e8b58be991075f08c6a7f0e53
 F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3
 F src/select.c 42996047868542619a8879bce3b446d92c81ead0
 F src/shell.c ed4d237b3e52a0a42512bfcc53530e46de20c28f
 F src/sqlite.h.in c36ab3d4dc1b863ba0cf79905210180b8059a839
-F src/sqliteInt.h 6559811caeae0d1855e0b973e363a8c5141e566b
+F src/sqliteInt.h 323281bd04c7f988c6873777750acaa1f6b3b9a6
 F src/table.c af14284fa36c8d41f6829e3f2819dce07d3e2de2
 F src/tclsqlite.c 2700a35f494e8fc5ad2742bcae09d2cb66a295ab
-F src/test1.c d23bf61826665d1c6df0d1e565cdf0b7a065e6ce
+F src/test1.c d2e0b5e8a12dc70fa011748c01e4a7ef38cc5a8e
 F src/test2.c 6195a1ca2c8d0d2d93644e86da3289b403486872
 F src/test3.c 5e4a6d596f982f6f47a5f9f75ede9b4a3b739968
 F src/test4.c 014478492bddb3f9b4a3151b05f9ac708fe279fb
@@ -127,7 +127,7 @@ F test/notnull.test 7a08117a71e74b0321aaa937dbeb41a09d6eb1d0
 F test/null.test c14d0f4739f21e929b8115b72bf0c765b6bb1721
 F test/pager.test 548968643d91c1c43a3a3eb1a232e9ca87b4069e
 F test/pager2.test 7ff175a28484fd324df9315dfe35f6fb159910ec
-F test/pragma.test e763be8238c8a5a0cd8b75e8eec70b957da6081b
+F test/pragma.test 1b6792d4af550ca4973096d77fc278dd6c32c4dd
 F test/printf.test 46b3d07d59d871d0831b4a657f6dfcafe0574850
 F test/progress.test 701b6115c2613128ececdfe1398a1bd0e1a4cfb3 x
 F test/quick.test 8800cd2f6b45ce2cafadb0e3d5161688c61c946a
@@ -203,7 +203,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
 F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 17e7db488dac6b30d174f2272edf1046c2bb9990
-R 113d8544ffd910b3c5420bd788cff980
+P 0317bef4b0c219ca2888c90553201e53230fb360
+R 250b3406a1267384090bf13650dde2b6
 U danielk1977
-Z bc1bc018e744dabad71dcba7ffcd3363
+Z 468d6cd88bf024746a793243f549c65d
index 7a699cdb7b6456b71b49ee8084ce46f9e6e1ebbb..18279a5055ca153f04cc6c4abaceb034c9f33c93 100644 (file)
@@ -1 +1 @@
-0317bef4b0c219ca2888c90553201e53230fb360
\ No newline at end of file
+93bb958d939302795027f738b8f663cbce3e8783
\ No newline at end of file
index d2479aba598f23ec7caaa186d3c69935da80ff05..fa9b22fee944e5270caf7bd711b1123145e3a9ba 100644 (file)
@@ -14,7 +14,7 @@
 ** other files are for internal use by SQLite and should not be
 ** accessed by users of the library.
 **
-** $Id: main.c,v 1.191 2004/05/26 06:18:37 danielk1977 Exp $
+** $Id: main.c,v 1.192 2004/05/26 06:58:44 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -655,18 +655,12 @@ int sqlite3_create_function(
   FuncDef *p;
   int nName;
 
-  if( db==0 || zFunctionName==0 || sqlite3SafetyCheck(db) ){
-    return SQLITE_ERROR;
-  }
-  if( (xFunc && (xFinal || xStep)) || (!xFunc && (!xFinal && !xStep)) ){
-    return SQLITE_ERROR;
-  }
-  if( nArg<-1 || nArg>127 ){
-    return SQLITE_ERROR;
-  }
-
-  nName = strlen(zFunctionName);
-  if( nName>255 ){
+  if( (db==0 || zFunctionName==0 || sqlite3SafetyCheck(db)) ||
+      (xFunc && (xFinal || xStep)) || 
+      (!xFunc && (xFinal && !xStep)) ||
+      (!xFunc && (!xFinal && xStep)) ||
+      (nArg<-1 || nArg>127) ||
+      (255<(nName = strlen(zFunctionName))) ){
     return SQLITE_ERROR;
   }
 
@@ -678,7 +672,6 @@ int sqlite3_create_function(
   p->pUserData = pUserData;
   return SQLITE_OK;
 }
-
 int sqlite3_create_function16(
   sqlite3 *db,
   const void *zFunctionName,
index 1c45aa653b7fe5c00d350486f94be29fcb313ae2..4d72cad37d2c6a6a74fb5a8a8fd28458297a26fe 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the PRAGMA command.
 **
-** $Id: pragma.c,v 1.30 2004/05/26 00:01:54 drh Exp $
+** $Id: pragma.c,v 1.31 2004/05/26 06:58:44 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -119,7 +119,6 @@ static int flagPragma(Parse *pParse, const char *zLeft, const char *zRight){
     { "vdbe_trace",               SQLITE_VdbeTrace     },
     { "full_column_names",        SQLITE_FullColNames  },
     { "short_column_names",       SQLITE_ShortColNames },
-    { "show_datatypes",           SQLITE_ReportTypes   },
     { "count_changes",            SQLITE_CountRows     },
     { "empty_result_callbacks",   SQLITE_NullCallback  },
   };
index ad06d83b0dd5a0fc7ec5907218901af21f86128c..3a94128be201e6c3ade818726efbfe272b1507f8 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.251 2004/05/25 12:05:57 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.252 2004/05/26 06:58:44 danielk1977 Exp $
 */
 #include "config.h"
 #include "sqlite.h"
@@ -444,8 +444,6 @@ struct sqlite {
                                           /*   the count using a callback. */
 #define SQLITE_NullCallback   0x00000100  /* Invoke the callback once if the */
                                           /*   result set is empty */
-#define SQLITE_ReportTypes    0x00000200  /* Include information on datatypes */
-                                          /*   in 4th argument of callback */
 
 /*
 ** Possible values for the sqlite.magic field.
index b9279d9aee1f400748ba6025cb55b7f4101ae1da..cc9aa3b5ba5c639fb2877797b6ee20c4849eab59 100644 (file)
@@ -13,7 +13,7 @@
 ** is not included in the SQLite library.  It is used for automated
 ** testing of the SQLite library.
 **
-** $Id: test1.c,v 1.55 2004/05/26 06:18:38 danielk1977 Exp $
+** $Id: test1.c,v 1.56 2004/05/26 06:58:44 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include "tcl.h"
@@ -719,35 +719,6 @@ static int rememberDataTypes(void *pArg, int nCol, char **argv, char **colv){
   return 1;
 }
 
-/*
-** Invoke an SQL statement but ignore all the data in the result.  Instead,
-** return a list that consists of the datatypes of the various columns.
-**
-** This only works if "PRAGMA show_datatypes=on" has been executed against
-** the database connection.
-*/
-static int sqlite_datatypes(
-  void *NotUsed,
-  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */
-  int argc,              /* Number of arguments */
-  char **argv            /* Text of each argument */
-){
-  sqlite *db;
-  int rc;
-  if( argc!=3 ){
-    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0], 
-       " DB SQL", 0);
-    return TCL_ERROR;
-  }
-  if( getDbPointer(interp, argv[1], &db) ) return TCL_ERROR;
-  rc = sqlite3_exec(db, argv[2], rememberDataTypes, interp, 0);
-  if( rc!=0 && rc!=SQLITE_ABORT ){
-    Tcl_AppendResult(interp, sqlite3_error_string(rc), 0);
-    return TCL_ERROR;
-  }
-  return TCL_OK;
-}
-
 /*
 ** Usage:  sqlite3_finalize  STMT 
 **
@@ -1551,7 +1522,6 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
      { "sqlite3_create_aggregate",      (Tcl_CmdProc*)test_create_aggregate },
      { "sqlite_register_test_function", (Tcl_CmdProc*)test_register_func    },
      { "sqlite_abort",                  (Tcl_CmdProc*)sqlite_abort          },
-     { "sqlite_datatypes",              (Tcl_CmdProc*)sqlite_datatypes      },
 #ifdef MEMORY_DEBUG
      { "sqlite_malloc_fail",            (Tcl_CmdProc*)sqlite_malloc_fail    },
      { "sqlite_malloc_stat",            (Tcl_CmdProc*)sqlite_malloc_stat    },
index 2bb7f0a65298293e9bef7d72be83136639f5ea8f..cb08e8ca737001130555baa0c884063c4735a0cc 100644 (file)
@@ -12,7 +12,7 @@
 #
 # This file implements tests for the PRAGMA command.
 #
-# $Id: pragma.test,v 1.11 2004/05/21 02:14:25 drh Exp $
+# $Id: pragma.test,v 1.12 2004/05/26 06:58:45 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -164,82 +164,6 @@ do_test pragma-1.15 {
   }
 } {123 123 2 2}
 
-do_test pragma-2.1 {
-  execsql {
-    PRAGMA show_datatypes=on;
-    PRAGMA empty_result_callbacks=off;
-  }
-  sqlite_datatypes $::DB {SELECT * FROM sqlite_master}
-} {}
-do_test pragma-2.2 {
-  execsql {
-    PRAGMA empty_result_callbacks=on;
-  }
-  sqlite_datatypes $::DB {SELECT * FROM sqlite_master}
-} {text text text integer text}
-
-# Make sure we can read the schema when empty_result_callbacks are
-# turned on. Ticket #406
-do_test pragma-2.2.1 {
-  execsql {
-    BEGIN;
-    CREATE TABLE tabx(a,b,c,d);
-    ROLLBACK;
-    SELECT count(*) FROM sqlite_master;
-  }
-} {0}
-
-do_test pragma-2.3 {
-  execsql {
-    CREATE TABLE t1(
-       a INTEGER,
-       b TEXT,
-       c WHATEVER,
-       d CLOB,
-       e BLOB,
-       f VARCHAR(123),
-       g nVaRcHaR(432)
-    );
-  }
-  sqlite_datatypes $::DB {SELECT * FROM t1}
-} {INTEGER TEXT WHATEVER CLOB BLOB VARCHAR(123) nVaRcHaR(432)}
-do_test pragma-2.4 {
-  sqlite_datatypes $::DB {
-     SELECT 1, 'hello', NULL
-  }
-} {NUMERIC TEXT ANY}
-do_test pragma-2.5 {
-  sqlite_datatypes $::DB {
-     SELECT 1+2 AS X, 'hello' || 5 AS Y, NULL AS Z
-  }
-} {NUMERIC TEXT ANY}
-do_test pragma-2.6 {
-  execsql {
-    CREATE VIEW v1 AS SELECT a+b, b||c, * FROM t1;
-  }
-  sqlite_datatypes $::DB {SELECT * FROM v1}
-} {NUMERIC TEXT INTEGER TEXT WHATEVER CLOB BLOB VARCHAR(123) nVaRcHaR(432)}
-do_test pragma-2.7 {
-  sqlite_datatypes $::DB {
-    SELECT d,e FROM t1 UNION SELECT a,c FROM t1
-  }
-} {INTEGER WHATEVER}
-do_test pragma-2.8 {
-  sqlite_datatypes $::DB {
-    SELECT d,e FROM t1 EXCEPT SELECT c,e FROM t1
-  }
-} {WHATEVER BLOB}
-do_test pragma-2.9 {
-  sqlite_datatypes $::DB {
-    SELECT d,e FROM t1 INTERSECT SELECT c,e FROM t1
-  }
-} {WHATEVER BLOB}
-do_test pragma-2.10 {
-  sqlite_datatypes $::DB {
-    SELECT d,e FROM t1 INTERSECT SELECT c,e FROM v1
-  }
-} {WHATEVER BLOB}
-
 # Construct a corrupted index and make sure the integrity_check
 # pragma finds it.
 #