]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Get the __hidden__ column mechanism working on views with INSTEAD OF triggers.
authordrh <drh@noemail.net>
Wed, 18 Nov 2015 21:22:02 +0000 (21:22 +0000)
committerdrh <drh@noemail.net>
Wed, 18 Nov 2015 21:22:02 +0000 (21:22 +0000)
FossilOrigin-Name: 20c1e9ce75cc0b5f7456379f35a4fe24edd98088

manifest
manifest.uuid
src/insert.c

index e36c1904eeee4402e713b104691fed12234fc723..856258b350f65a673715234992c5ae6bf15d1565 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\stests\sfor\sviews\sto\shidden.test.
-D 2015-11-18T20:59:47.725
+C Get\sthe\s__hidden__\scolumn\smechanism\sworking\son\sviews\swith\sINSTEAD\sOF\striggers.
+D 2015-11-18T21:22:02.852
 F Makefile.in d828db6afa6c1fa060d01e33e4674408df1942a1
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e928e68168df69b353300ac87c10105206653a03
@@ -300,7 +300,7 @@ F src/global.c 508e4087f7b41d688e4762dcf4d4fe28cfbc87f9
 F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
 F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
-F src/insert.c 0b376795f688aafd264ff0c5a6538e5a4cc6c213
+F src/insert.c 0cf9a847a0a03b4fe932f1adfa69165802d5250b
 F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 F src/loadext.c 18586e45a215325f15096821e9c082035d4fb810
@@ -1404,7 +1404,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 3071ba2bdbda7018d0a285eceb04b8527209ec1e
-R 2baa1dc83be9c7315702795a7e6fe14b
-U dan
-Z 4e931d86c42c505d1f09dcba4c9d7ade
+P 27d4b6f5756c7b19c00c95d46a77280c8b6f03a4
+R d79a926a0045cbb3f30ec72ca51f379c
+U drh
+Z c4fa45b9d058451cddc1ea846764a52e
index 38e76f7114c66e1ef9a6403a6a1c755f3dc50b1e..f5b8db47ca7e91d1d3c8c02749c2b23f97befc17 100644 (file)
@@ -1 +1 @@
-27d4b6f5756c7b19c00c95d46a77280c8b6f03a4
\ No newline at end of file
+20c1e9ce75cc0b5f7456379f35a4fe24edd98088
\ No newline at end of file
index 2c159fd2bce24dba7d85da2328e9b5dc321ad2ae..aa3eb91114c0092e076ea745b932dc7aee14f683 100644 (file)
@@ -833,15 +833,14 @@ void sqlite3Insert(
 
     /* Create the new column data
     */
-    for(i=0; i<pTab->nCol; i++){
-      if( pColumn==0 ){
-        j = i;
-      }else{
+    for(i=j=0; i<pTab->nCol; i++){
+      if( pColumn ){
         for(j=0; j<pColumn->nId; j++){
           if( pColumn->a[j].idx==i ) break;
         }
       }
-      if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId) ){
+      if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId)
+            || (pColumn==0 && IsHiddenColumn(&pTab->aCol[i])) ){
         sqlite3ExprCode(pParse, pTab->aCol[i].pDflt, regCols+i+1);
       }else if( useTempTable ){
         sqlite3VdbeAddOp3(v, OP_Column, srcTab, j, regCols+i+1); 
@@ -849,6 +848,7 @@ void sqlite3Insert(
         assert( pSelect==0 ); /* Otherwise useTempTable is true */
         sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1);
       }
+      if( pColumn==0 && !IsHiddenColumn(&pTab->aCol[i]) ) j++;
     }
 
     /* If this is an INSERT on a view with an INSTEAD OF INSERT trigger,