mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-11 01:42:22 +03:00
Merge recent enhancements from trunk.
FossilOrigin-Name: cb77236673e30af1e8749d984dedecc8f901b255
This commit is contained in:
11
src/insert.c
11
src/insert.c
@@ -69,7 +69,7 @@ void sqlite3OpenTable(
|
||||
** is managed along with the rest of the Index structure. It will be
|
||||
** released when sqlite3DeleteIndex() is called.
|
||||
*/
|
||||
const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){
|
||||
const char *sqlite3IndexAffinityStr(sqlite3 *db, Index *pIdx){
|
||||
if( !pIdx->zColAff ){
|
||||
/* The first time a column affinity string for a particular index is
|
||||
** required, it is allocated and populated here. It is then stored as
|
||||
@@ -81,7 +81,6 @@ const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){
|
||||
*/
|
||||
int n;
|
||||
Table *pTab = pIdx->pTable;
|
||||
sqlite3 *db = sqlite3VdbeDb(v);
|
||||
pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nColumn+1);
|
||||
if( !pIdx->zColAff ){
|
||||
db->mallocFailed = 1;
|
||||
@@ -705,11 +704,13 @@ void sqlite3Insert(
|
||||
sNC.pParse = pParse;
|
||||
srcTab = -1;
|
||||
assert( useTempTable==0 );
|
||||
nColumn = pList ? pList->nExpr : 0;
|
||||
for(i=0; i<nColumn; i++){
|
||||
if( sqlite3ResolveExprNames(&sNC, pList->a[i].pExpr) ){
|
||||
if( pList ){
|
||||
nColumn = pList->nExpr;
|
||||
if( sqlite3ResolveExprListNames(&sNC, pList) ){
|
||||
goto insert_cleanup;
|
||||
}
|
||||
}else{
|
||||
nColumn = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user