1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

added default values (CVS 46)

FossilOrigin-Name: 27c0678623de37f3166cb9952989fd03484cdb8d
This commit is contained in:
drh
2000-06-03 18:06:52 +00:00
parent 064e64575d
commit 7020f6516c
14 changed files with 330 additions and 52 deletions

View File

@@ -24,7 +24,7 @@
** This file contains C code routines that are called by the parser
** to handle INSERT statements.
**
** $Id: insert.c,v 1.3 2000/06/02 13:27:59 drh Exp $
** $Id: insert.c,v 1.4 2000/06/03 18:06:53 drh Exp $
*/
#include "sqliteInt.h"
@@ -88,7 +88,7 @@ void sqliteInsert(
}
for(i=0; i<pField->nId; i++){
for(j=0; j<pTab->nCol; j++){
if( sqliteStrICmp(pField->a[i].zName, pTab->azCol[j])==0 ){
if( sqliteStrICmp(pField->a[i].zName, pTab->aCol[j].zName)==0 ){
pField->a[i].idx = j;
break;
}
@@ -121,7 +121,9 @@ void sqliteInsert(
}
}
if( pField && j>=pField->nId ){
sqliteVdbeAddOp(v, OP_String, 0, 0, "", 0);
char *zDflt = pTab->aCol[i].zDflt;
if( zDflt==0 ) zDflt = "";
sqliteVdbeAddOp(v, OP_String, 0, 0, zDflt, 0);
}else{
sqliteExprCode(pParse, pList->a[j].pExpr);
}
@@ -143,7 +145,9 @@ void sqliteInsert(
}
}
if( pField && j>=pField->nId ){
sqliteVdbeAddOp(v, OP_String, 0, 0, "", 0);
char *zDflt = pTab->aCol[idx].zDflt;
if( zDflt==0 ) zDflt = "";
sqliteVdbeAddOp(v, OP_String, 0, 0, zDflt, 0);
}else{
sqliteExprCode(pParse, pList->a[j].pExpr);
}