@@ -10658,10 +10658,15 @@
10658 10658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<nArg; i++){
10659 10659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int w = aExplainWidth[i];
10660 10660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_width_print(p->out, w, azCol[i]);
10661 10661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fputs(i==nArg-1 ? "\n" : " ", p->out);
10662 10662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
10663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<nArg; i++){
10664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int w = aExplainWidth[i];
10665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ print_dashes(p->out, w);
10666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fputs(i==nArg-1 ? "\n" : " ", p->out);
10667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
10663 10668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
10664 10669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( azArg==0 ) break;
10665 10670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<nArg; i++){
10666 10671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int w = aExplainWidth[i];
10667 10672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( azArg[i] && strlenChar(azArg[i])>w ){
@@ -12456,20 +12461,23 @@
12456 12461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".load FILE ?ENTRY? Load an extension library",
12457 12462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
12458 12463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".log FILE|off Turn logging on or off. FILE can be stderr/stdout",
12459 12464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".mode MODE ?TABLE? Set output mode",
12460 12465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" MODE is one of:",
12461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ascii Columns/rows delimited by 0x1F and 0x1E",
12462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " csv Comma-separated values",
12463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " column Left-aligned columns. (See .width)",
12464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " html HTML <table> code",
12465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " insert SQL insert statements for TABLE",
12466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " line One value per line",
12467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " list Values delimited by \"|\"",
12468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " quote Escape answers as for SQL",
12469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " tabs Tab-separated values",
12470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " tcl TCL list elements",
12466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ascii Columns/rows delimited by 0x1F and 0x1E",
12467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " csv Comma-separated values",
12468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " column Output in columns. (See .width)",
12469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " html HTML <table> code",
12470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " insert SQL insert statements for TABLE",
12471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " json Results in a JSON array",
12472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " line One value per line",
12473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " list Values delimited by \"|\"",
12474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " markdown Markdown table format",
12475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " quote Escape answers as for SQL",
12476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " table ASCII-art table",
12477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " tabs Tab-separated values",
12478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " tcl TCL list elements",
12471 12479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".nullvalue STRING Use STRING in place of NULL values",
12472 12480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE",
12473 12481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" If FILE begins with '|' then open as a pipe",
12474 12482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" --bom Put a UTF8 byte-order mark at the beginning",
12475 12483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -e Send output to the system text editor",
@@ -12590,11 +12598,11 @@
12590 12598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" --allexcept Unregister everything except those named",
12591 12599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
12592 12600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".vfsinfo ?AUX? Information about the top-level VFS",
12593 12601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".vfslist List all available VFSes",
12594 12602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".vfsname ?AUX? Print the name of the VFS stack",
12595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ".width NUM1 NUM2 ... Set column widths for \"column\" mode",
12603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ".width NUM1 NUM2 ... Set minimum column widths for columnar output",
12596 12604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" Negative values right-justify",
12597 12605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
12598 12606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
12599 12607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
12600 12608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Output help text.
@@ -13427,10 +13435,11 @@
13427 13435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
13428 13436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
typedef struct ImportCtx ImportCtx;
13429 13437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
struct ImportCtx {
13430 13438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFile; /* Name of the input file */
13431 13439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
FILE *in; /* Read the CSV text from this input stream */
13440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close in */
13432 13441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *z; /* Accumulated text for a field */
13433 13442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n; /* Number of bytes in z */
13434 13443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nAlloc; /* Space allocated for z[] */
13435 13444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nLine; /* Current line number */
13436 13445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nRow; /* Number of rows imported */
@@ -13438,10 +13447,20 @@
13438 13447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bNotFirst; /* True if one or more bytes already read */
13439 13448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int cTerm; /* Character that terminated the most recent field */
13440 13449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int cColSep; /* The column separator character. (Usually ",") */
13441 13450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int cRowSep; /* The row separator character. (Usually "\n") */
13442 13451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
13452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
13453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Clean up resourced used by an ImportCtx */
13454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void import_cleanup(ImportCtx *p){
13455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->in!=0 && p->xCloser!=0 ){
13456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->xCloser(p->in);
13457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->in = 0;
13458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
13459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_free(p->z);
13460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->z = 0;
13461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
13443 13462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
13444 13463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Append a single byte to z[] */
13445 13464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void import_append_char(ImportCtx *p, int c){
13446 13465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->n+1>=p->nAlloc ){
13447 13466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->nAlloc += p->nAlloc + 100;
@@ -16160,10 +16179,11 @@
16160 16179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strcmp(z,"preserve-rowids")==0 ){
16161 16180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_OMIT_VIRTUALTABLE
16162 16181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
raw_printf(stderr, "The --preserve-rowids option is not compatible"
16163 16182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" with SQLITE_OMIT_VIRTUALTABLE\n");
16164 16183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_free(zLike);
16165 16185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16166 16186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
16167 16187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ShellSetFlag(p, SHFLG_PreserveRowid);
16168 16188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
16169 16189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
@@ -16171,10 +16191,11 @@
16171 16191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ShellSetFlag(p, SHFLG_Newlines);
16172 16192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
16173 16193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
16174 16194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
raw_printf(stderr, "Unknown option \"%s\" on \".dump\"\n", azArg[i]);
16175 16195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_free(zLike);
16176 16197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16177 16198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16178 16199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( zLike ){
16179 16200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zLike = sqlite3_mprintf("%z OR name LIKE %Q ESCAPE '\\'",
16180 16201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zLike, azArg[i]);
@@ -16528,11 +16549,10 @@
16528 16549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int needCommit; /* True to COMMIT or ROLLBACK at end */
16529 16550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nSep; /* Number of bytes in p->colSeparator[] */
16530 16551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSql; /* An SQL statement */
16531 16552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ImportCtx sCtx; /* Reader context */
16532 16553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */
16533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close file */
16534 16554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int eVerbose = 0; /* Larger for more console output */
16535 16555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nSkip = 0; /* Initial lines to skip */
16536 16556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int useOutputMode = 1; /* Use output mode to determine separators */
16537 16557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
16538 16558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memset(&sCtx, 0, sizeof(sCtx));
@@ -16634,15 +16654,15 @@
16634 16654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16635 16655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16636 16656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
16637 16657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sCtx.in = popen(sCtx.zFile+1, "r");
16638 16658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sCtx.zFile = "<pipe>";
16639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser = pclose;
16659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sCtx.xCloser = pclose;
16640 16660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
16641 16661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
16642 16662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sCtx.in = fopen(sCtx.zFile, "rb");
16643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser = fclose;
16663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sCtx.xCloser = fclose;
16644 16664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16645 16665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sCtx.in==0 ){
16646 16666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile);
16647 16667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16648 16668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
@@ -16662,11 +16682,11 @@
16662 16682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( xRead(&sCtx) && sCtx.cTerm==sCtx.cColSep ){}
16663 16683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sCtx.nLine++;
16664 16684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16665 16685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSql = sqlite3_mprintf("SELECT * FROM %s", zTable);
16666 16686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSql==0 ){
16667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16668 16688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
shell_out_of_memory();
16669 16689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16670 16690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nByte = strlen30(zSql);
16671 16691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
16672 16692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */
@@ -16678,12 +16698,11 @@
16678 16698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cSep = ',';
16679 16699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sCtx.cTerm!=sCtx.cColSep ) break;
16680 16700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16681 16701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( cSep=='(' ){
16682 16702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zCreate);
16683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_free(sCtx.z);
16684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16685 16704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(stderr,"%s: empty file\n", sCtx.zFile);
16686 16705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16687 16706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16688 16707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16689 16708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCreate = sqlite3_mprintf("%z\n)", zCreate);
@@ -16693,32 +16712,31 @@
16693 16712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_exec(p->db, zCreate, 0, 0, 0);
16694 16713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zCreate);
16695 16714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
16696 16715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(stderr, "CREATE TABLE %s(...) failed: %s\n", zTable,
16697 16716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(p->db));
16698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_free(sCtx.z);
16699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16700 16718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16701 16719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16702 16720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16703 16721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
16704 16722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16705 16723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zSql);
16706 16724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
16707 16725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (pStmt) sqlite3_finalize(pStmt);
16708 16726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(stderr,"Error: %s\n", sqlite3_errmsg(p->db));
16709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16710 16728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16711 16729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16712 16730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16713 16731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nCol = sqlite3_column_count(pStmt);
16714 16732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
16715 16733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pStmt = 0;
16716 16734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nCol==0 ) return 0; /* no columns, no error */
16717 16735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSql = sqlite3_malloc64( nByte*2 + 20 + nCol*2 );
16718 16736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSql==0 ){
16719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16720 16738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
shell_out_of_memory();
16721 16739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16722 16740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(nByte+20, zSql, "INSERT INTO \"%w\" VALUES(?", zTable);
16723 16741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
j = strlen30(zSql);
16724 16742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=1; i<nCol; i++){
@@ -16733,11 +16751,11 @@
16733 16751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
16734 16752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zSql);
16735 16753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
16736 16754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db));
16737 16755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (pStmt) sqlite3_finalize(pStmt);
16738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16739 16757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
16740 16758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
16741 16759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16742 16760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
needCommit = sqlite3_get_autocommit(p->db);
16743 16761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( needCommit ) sqlite3_exec(p->db, "BEGIN", 0, 0, 0);
@@ -16785,12 +16803,11 @@
16785 16803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sCtx.nRow++;
16786 16804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16787 16805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
16788 16806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}while( sCtx.cTerm!=EOF );
16789 16807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
16790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xCloser(sCtx.in);
16791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_free(sCtx.z);
16808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ import_cleanup(&sCtx);
16792 16809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
16793 16810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0);
16794 16811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( eVerbose>0 ){
16795 16812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
utf8_printf(p->out,
16796 16813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Added %d rows with %d errors using %d lines of input\n",
16797 16814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!