]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the sqlite_complete() routine so that it recognizes /*...*/ comments.
authordrh <drh@noemail.net>
Sat, 26 Apr 2003 02:31:54 +0000 (02:31 +0000)
committerdrh <drh@noemail.net>
Sat, 26 Apr 2003 02:31:54 +0000 (02:31 +0000)
Ticket #277. (CVS 937)

FossilOrigin-Name: ef8eb580fc6c40264219c2ae77a9c4f8a5803c8b

manifest
manifest.uuid
src/main.c
test/main.test

index 59b527de1f2989cca03dd6aa0440b6e4da43c36f..579fea18b6b3be3ff91817059b590babf9c4dc73 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Report\sthe\scorrect\sauthorization\scontext\sin\sthe\sauthorization\scallback\nwhen\scoding\san\sINSTEAD\sOF\strigger\son\san\supdate\sor\sdelete.\s(CVS\s936)
-D 2003-04-25T17:52:11
+C Fix\sthe\ssqlite_complete()\sroutine\sso\sthat\sit\srecognizes\s/*...*/\scomments.\nTicket\s#277.\s(CVS\s937)
+D 2003-04-26T02:31:54
 F Makefile.in 004acec253ecdde985c8ecd5b7c9accdb210378f
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -33,7 +33,7 @@ F src/func.c 882c3ed5a02be18cd904715c7ec62947a34a3605
 F src/hash.c 4fc39feb7b7711f6495ee9f2159559bedb043e1f
 F src/hash.h cd0433998bc1a3759d244e1637fe5a3c13b53bf8
 F src/insert.c 19882be1edc4b1629b8f3097e2615164f2c9cecb
-F src/main.c 5e4d4d081d82840a743c57269ca3c32640cefc06
+F src/main.c 6763d9a5556b7ac04aad3819699331df9172f029
 F src/md5.c fe4f9c9c6f71dfc26af8da63e4d04489b1430565
 F src/os.c e56853eaea5dab258ab1ccb77b4743b453516e3a
 F src/os.h 9e5bbddff123187295e3d00d49af06192cd1cd49
@@ -90,7 +90,7 @@ F test/ioerr.test 5dbaf09f96b56ee01cf3edd762b96eb4ad2c9ca4
 F test/join.test c97267c19294bf1fa4e81087edad179828bced88
 F test/limit.test 9ffb965a0f5bf7152187ef3d8d1249b96e5620bf
 F test/lock.test 388a3a10962d2d571c0c1821cc35bf069ee73473
-F test/main.test 8108ac48302027bbe4296c30b913adbe6d5d984b
+F test/main.test a028743affca67670e24c97527d1f4ad4bc2aad3
 F test/malloc.test 7ba32a9ebd3aeed52ae4aaa6d42ca37e444536fd
 F test/memdb.test 4494051bcf72df58d9c631a5bc1260cba2b021cc
 F test/memleak.test a18e6810cae96d2f6f5136920267adbefc8e1e90
@@ -165,7 +165,7 @@ F www/speed.tcl cb4c10a722614aea76d2c51f32ee43400d5951be
 F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 8d3e879349fc9523c72cb46111e0058b57ce9341
-R fbd9cacc0c39e890456b02e579584ea3
+P 67746833fc8de3afff80db413bd63a362bb28218
+R b3e3bfe8164620c4480a4b87336b23e6
 U drh
-Z d170dde2366e1aeda159869f0f0e19bb
+Z 0c48e13a3396dc7d9213cbebb3486c16
index 977ffff6c92cab6c9eae8a55f2b3a780528b093d..b9259713adf85b8c31fc67adab9bf47eaca6a32e 100644 (file)
@@ -1 +1 @@
-67746833fc8de3afff80db413bd63a362bb28218
\ No newline at end of file
+ef8eb580fc6c40264219c2ae77a9c4f8a5803c8b
\ No newline at end of file
index d34964743341c704fed7451937b00d12a1d614e9..6d60f033760cfe5390fab2eaa8ecf659c4fab6dd 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.127 2003/04/23 12:25:24 drh Exp $
+** $Id: main.c,v 1.128 2003/04/26 02:31:54 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -599,6 +599,19 @@ int sqlite_complete(const char *zSql){
         if( *zSql==0 ) return 0;
         break;
       }
+      case '/': {
+        if( zSql[1]!='*' ){
+          isComplete = 0;
+          seenText = 1;
+          seenCreate = 0;
+          break;
+        }
+        zSql += 2;
+        while( zSql[0] && (zSql[0]!='*' || zSql[1]!='/') ){ zSql++; }
+        if( zSql[0]==0 ) return 0;
+        zSql += 2;
+        break;
+      }
       case '-': {
         if( zSql[1]!='-' ){
           isComplete = 0;
@@ -662,7 +675,7 @@ int sqlite_complete(const char *zSql){
     }
     zSql++;
   }
-  return seenText && isComplete && requireEnd==0;
+  return /* seenText && */ isComplete && requireEnd==0;
 }
 
 /*
index 005e2ee4517d6c61cb35144c6087b9188ec67074..9efbe310636c1f82f9fe2320946a18100fbc65a8 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is exercising the code in main.c.
 #
-# $Id: main.test,v 1.12 2003/04/16 02:17:36 drh Exp $
+# $Id: main.test,v 1.13 2003/04/26 02:31:54 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -24,12 +24,12 @@ do_test main-1.1 {
 do_test main-1.2 {
   db complete {
   }
-} {0}
+} {1}
 do_test main-1.3 {
   db complete {
      -- a comment ;
   }
-} {0}
+} {1}
 do_test main-1.4 {
   db complete {
      -- a comment ;
@@ -158,6 +158,45 @@ do_test main-1.29 {
        EXPLAIN select * from xyz;
   }
 } {0}
+do_test main-1.30 {
+  db complete {
+     CREATE TABLE /* In comment ; */
+  }
+} {0}
+do_test main-1.31 {
+  db complete {
+     CREATE TABLE /* In comment ; */ hi;
+  }
+} {1}
+do_test main-1.32 {
+  db complete {
+     stuff;
+     /*
+       CREATE TABLE
+       multiple lines
+       of text
+     */
+  }
+} {1}
+do_test main-1.33 {
+  db complete {
+     /*
+       CREATE TABLE
+       multiple lines
+       of text;
+  }
+} {0}
+do_test main-1.34 {
+  db complete {
+     /*
+       CREATE TABLE
+       multiple lines "*/
+       of text;
+  }
+} {1}
+do_test main-1.35 {
+  db complete {hi /**/ there;}
+} {1}
 
 
 # Try to open a database with a corrupt database file.