aboutsummaryrefslogtreecommitdiff
path: root/src/build.c
diff options
context:
space:
mode:
authordrh <>2025-04-15 21:59:38 +0000
committerdrh <>2025-04-15 21:59:38 +0000
commit0243ca82459db9984f3708eb844b32bcebbff2e5 (patch)
tree86a361a59af7b29db2b4b7a3b870e99521e48b8b /src/build.c
parent8488789d742ba6cb818fab54d3c34e3d512413a0 (diff)
downloadsqlite-0243ca82459db9984f3708eb844b32bcebbff2e5.tar.gz
sqlite-0243ca82459db9984f3708eb844b32bcebbff2e5.zip
Correctly handle the case of a multi-column UNIQUE constraint that contains
the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. Reported by [forum:/forumpost/b9647a113b465950|forum post b9647a113b]. Problem introduced by [723f1be3d4a905a6], part of ticket [da78413751863]. FossilOrigin-Name: d22475b81c4e26ccc50f3b5626d43b32f7a2de34e5a764539554665bdda735d5
Diffstat (limited to 'src/build.c')
-rw-r--r--src/build.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/build.c b/src/build.c
index 9c0285e3d..13f5b7133 100644
--- a/src/build.c
+++ b/src/build.c
@@ -4219,6 +4219,7 @@ void sqlite3CreateIndex(
assert( j<=0x7fff );
if( j<0 ){
j = pTab->iPKey;
+ pIndex->bIdxRowid = 1;
}else{
if( pTab->aCol[j].notNull==0 ){
pIndex->uniqNotNull = 0;