]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add code to report an error on a recursive trigger, but leave it
authordrh <drh@noemail.net>
Sat, 25 Mar 2006 15:52:19 +0000 (15:52 +0000)
committerdrh <drh@noemail.net>
Sat, 25 Mar 2006 15:52:19 +0000 (15:52 +0000)
commented out - turning it on will likely break a lot of code. (CVS 3152)

FossilOrigin-Name: c83ec81d53f756660cafbbdaf9cf92e9e4bab4ad

manifest
manifest.uuid
src/trigger.c

index 289b01a3e3d2ad23cc89bcfcd4f45325be88cd31..5fd33bab3a75961317c1d45ec74b7128a2bae375 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\snote\sto\sthe\sAPI\sdocumentation\semphasizing\sthat\sthe\sfilename\sargument\nto\ssqlite3_open()\smust\sbe\sUTF-8.\s\sTickets\s#1713,\s#1533.\s(CVS\s3151)
-D 2006-03-25T14:03:42
+C Add\scode\sto\sreport\san\serror\son\sa\srecursive\strigger,\sbut\sleave\sit\ncommented\sout\s-\sturning\sit\son\swill\slikely\sbreak\sa\slot\sof\scode.\s(CVS\s3152)
+D 2006-03-25T15:52:20
 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -84,7 +84,7 @@ F src/test_async.c e3deaedd4d86a56391b81808fde9e44fbd92f1d3
 F src/test_md5.c 6c42bc0a3c0b54be34623ff77a0eec32b2fa96e3
 F src/test_server.c a6460daed0b92ecbc2531b6dc73717470e7a648c
 F src/tokenize.c 382b3bb0ca26eb9153b5d20b246ef512a114a24f
-F src/trigger.c 6e63d6d8104a395d6a472d2678a62f1cf6140a6d
+F src/trigger.c 825e5b98183a0ad066d0e1dfa6708c2aac089723
 F src/update.c 34add66fcd3301b33b6e4c4c813f4e408f7ee4a0
 F src/utf.c 1d51225bce1ea8d1978e8ab28e862a0c12c7a8e8
 F src/util.c 59389ed717f0fa9d8023b3f482ba09dcf41343a8
@@ -355,7 +355,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 1c582dd11304f4421da2fa451f52b313b541270e
-R 95b27b76724fa6c680d52e13fce463da
+P b0111f43e4f82f0c3144d1e6348d9e5fae504d95
+R 07f26df1ae14843844bd0e7a7c105a61
 U drh
-Z 7381e17e9519044ef5ca44deeaa6dc0e
+Z 8dfcbbac72e2253b5a292c2031f2b098
index 6dc2efc885158bbe050f64a88f4db887adb7cdae..9dda60666de586f45dd0e0adbc834afbf85d90f1 100644 (file)
@@ -1 +1 @@
-b0111f43e4f82f0c3144d1e6348d9e5fae504d95
\ No newline at end of file
+c83ec81d53f756660cafbbdaf9cf92e9e4bab4ad
\ No newline at end of file
index 91b6defe79947ff4014e9b45ecd27c1c01c76396..72f7a72042658d95b3e8fdbd26db7c3c3eda1872 100644 (file)
@@ -598,14 +598,7 @@ int sqlite3TriggersExist(
 
   while( pTrigger ){
     if( pTrigger->op==op && checkColumnOverLap(pTrigger->pColumns, pChanges) ){
-      TriggerStack *ss;
-      ss = pParse->trigStack;
-      while( ss && ss->pTrigger!=pTab->pTrigger ){
-       ss = ss->pNext;
-      }
-      if( ss==0 ){
-        mask |= pTrigger->tr_tm;
-      }
+      mask |= pTrigger->tr_tm;
     }
     pTrigger = pTrigger->pNext;
   }
@@ -766,6 +759,13 @@ int sqlite3CodeRowTrigger(
       if( !pS ){
         fire_this = 1;
       }
+#if 0    /* Give no warning for recursive triggers.  Just do not do them */
+      else{
+        sqlite3ErrorMsg(pParse, "recursive triggers not supported (%s)",
+            p->name);
+        return SQLITE_ERROR;
+      }
+#endif
     }
  
     if( fire_this ){