diff options
author | drh <drh@noemail.net> | 2013-10-23 13:30:58 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-10-23 13:30:58 +0000 |
commit | ad124329ab8e45dafc04ca612c87768843d9ed4b (patch) | |
tree | 3c114a5fe81269f2e43c2a576527087ba41872fb /src/insert.c | |
parent | ec95c4417559b3f9c0fc43886bed9219c78a48bf (diff) | |
download | sqlite-ad124329ab8e45dafc04ca612c87768843d9ed4b.tar.gz sqlite-ad124329ab8e45dafc04ca612c87768843d9ed4b.zip |
Some inserts and queries working for multi-column primary keys
and WITHOUT ROWID.
FossilOrigin-Name: b21d831b2aa55507dd9def2acb02cdbffddf10d1
Diffstat (limited to 'src/insert.c')
-rw-r--r-- | src/insert.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/insert.c b/src/insert.c index d9bf67216..0c654d3dc 100644 --- a/src/insert.c +++ b/src/insert.c @@ -69,15 +69,15 @@ const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){ int n; Table *pTab = pIdx->pTable; sqlite3 *db = sqlite3VdbeDb(v); - pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nKeyCol+2); + pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nColumn+1); if( !pIdx->zColAff ){ db->mallocFailed = 1; return 0; } - for(n=0; n<pIdx->nKeyCol; n++){ - pIdx->zColAff[n] = pTab->aCol[pIdx->aiColumn[n]].affinity; + for(n=0; n<pIdx->nColumn; n++){ + i16 x = pIdx->aiColumn[n]; + pIdx->zColAff[n] = x<0 ? SQLITE_AFF_INTEGER : pTab->aCol[x].affinity; } - pIdx->zColAff[n++] = SQLITE_AFF_INTEGER; pIdx->zColAff[n] = 0; } |