Back out check-in [0b3174e0b1364c] and replace it with a better fix
for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem
identified by ticket [7ffd1ca1d2ad4ec].
FossilOrigin-Name: 0613665274346917f5482f9210bf0c60a0fed7d9
diff --git a/manifest b/manifest
index 9eb1084..c9e37e2 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\stest\scases\sfor\stickets\s[91e2e8ba6ff2e2]\sand\s[7ffd1ca1d2ad4ec].
-D 2017-01-16T16:01:50.379
+C Back\sout\scheck-in\s[0b3174e0b1364c]\sand\sreplace\sit\swith\sa\sbetter\sfix\nfor\sticket\s[91e2e8ba6ff2e2]\s-\sa\sfix\sthat\sdoes\snot\scause\sthe\sproblem\nidentified\sby\sticket\s[7ffd1ca1d2ad4ec].
+D 2017-01-16T16:43:02.076
F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
@@ -341,7 +341,7 @@
F src/ctime.c 9f2296a4e5d26ebf0e0d95a0af4628f1ea694e7a
F src/date.c dc3f1391d9297f8c748132813aaffcb117090d6e
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
-F src/delete.c a84f6229ccb9448460c287248024ceb70e10baab
+F src/delete.c 8a444fea8340989d6b1be2e122c55bfc61ce69be
F src/expr.c f06f41e5e5daca10fb090e70a2502dcc0dbc992b
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
@@ -452,7 +452,7 @@
F src/tokenize.c 5c2f516876fc27fbd7753913f032f49eb89e83b5
F src/treeview.c 4e44ade3bfe59d82005039f72e09333ce2b4162c
F src/trigger.c c9f0810043b265724fdb1bdd466894f984dfc182
-F src/update.c 4e21634dde80a59b85f4d59eca75e3b5a5001fd4
+F src/update.c b356b29d04c71f33c779f2cb557cf953819bdd7a
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
F src/util.c a88b0466fddf445ce752226d4698ca3faada620a
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
@@ -1546,10 +1546,7 @@
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 97914266cb4ec63b0c9185ab139673139bd2f0ed
-R b7007367e54a15c0816f3ba9a91a394f
-T *branch * automatic-index-affinity
-T *sym-automatic-index-affinity *
-T -sym-trunk *
+P 9d0dfe0b088a5917afa06207ca3ac5618e3da82f
+R d9bec5fa752ad661e71dee0a4ee8e911
U drh
-Z 2b3d4a827097e1fdb9a913f5a46e57c3
+Z 5e9d81347f66aedf2ffc7c8c671d9f61
diff --git a/manifest.uuid b/manifest.uuid
index 48c1698..d656223 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-9d0dfe0b088a5917afa06207ca3ac5618e3da82f
\ No newline at end of file
+0613665274346917f5482f9210bf0c60a0fed7d9
\ No newline at end of file
diff --git a/src/delete.c b/src/delete.c
index 1a5edb5..1d31622 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -873,6 +873,10 @@
}
if( regOut ){
sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regOut);
+ if( pIdx->pTable->pSelect ){
+ const char *zAff = sqlite3IndexAffinityStr(pParse->db, pIdx);
+ sqlite3VdbeChangeP4(v, -1, zAff, P4_TRANSIENT);
+ }
}
sqlite3ReleaseTempRange(pParse, regBase, nCol);
return regBase;
diff --git a/src/update.c b/src/update.c
index 8bdb740..45af001 100644
--- a/src/update.c
+++ b/src/update.c
@@ -71,12 +71,12 @@
if( pValue ){
sqlite3VdbeAppendP4(v, pValue, P4_MEM);
}
-#ifndef SQLITE_OMIT_FLOATING_POINT
- if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){
- sqlite3VdbeAddOp1(v, OP_RealAffinity, iReg);
- }
-#endif
}
+#ifndef SQLITE_OMIT_FLOATING_POINT
+ if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){
+ sqlite3VdbeAddOp1(v, OP_RealAffinity, iReg);
+ }
+#endif
}
/*