14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
|
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
|
-
-
+
+
|
if( rc!=SQLITE_ROW ) return;
nColumn = sqlite3_column_count(pStmt);
nAlloc = nColumn*4;
if( nAlloc<=0 ) nAlloc = 1;
azData = sqlite3_malloc64( nAlloc*sizeof(char*) );
shell_check_oom(azData);
azNextLine = sqlite3_malloc64( nColumn*sizeof(char*) );
shell_check_oom(azNextLine);
memset(azNextLine, 0, nColumn*sizeof(char*) );
shell_check_oom((void*)azNextLine);
memset((void*)azNextLine, 0, nColumn*sizeof(char*) );
if( p->bQuote ){
azQuoted = sqlite3_malloc64( nColumn*sizeof(char*) );
shell_check_oom(azQuoted);
memset(azQuoted, 0, nColumn*sizeof(char*) );
}
abRowDiv = sqlite3_malloc64( nAlloc/nColumn );
shell_check_oom(abRowDiv);
|
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
|
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
|
-
-
+
+
-
+
|
shell_check_oom(azData);
abRowDiv = sqlite3_realloc64(abRowDiv, nAlloc/nColumn);
shell_check_oom(abRowDiv);
}
abRowDiv[nRow] = 1;
nRow++;
for(i=0; i<nColumn; i++){
int w = p->colWidth[i];
if( w==0 ) w = p->iWrap;
int wx = p->colWidth[i];
if( wx==0 ) wx = p->iWrap;
if( useNextLine ){
uz = azNextLine[i];
}else if( p->bQuote ){
sqlite3_free(azQuoted[i]);
azQuoted[i] = quoted_column(pStmt,i);
uz = (const unsigned char*)azQuoted[i];
}else{
uz = (const unsigned char*)sqlite3_column_text(pStmt,i);
}
azData[nRow*nColumn + i] = translateForDisplayAndDup(uz, &azNextLine[i], w);
azData[nRow*nColumn + i] = translateForDisplayAndDup(uz, &azNextLine[i], wx);
if( azNextLine[i] ){
bNextLine = 1;
abRowDiv[nRow-1] = 0;
bMultiLineRowExists = 1;
}
}
}while( bNextLine || sqlite3_step(pStmt)==SQLITE_ROW );
|
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
|
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
|
-
+
|
columnar_end:
if( seenInterrupt ){
utf8_printf(p->out, "Interrupt\n");
}
nData = (nRow+1)*nColumn;
for(i=0; i<nData; i++) free(azData[i]);
sqlite3_free(azData);
sqlite3_free(azNextLine);
sqlite3_free((void*)azNextLine);
sqlite3_free(abRowDiv);
if( azQuoted ){
for(i=0; i<nColumn; i++) sqlite3_free(azQuoted[i]);
sqlite3_free(azQuoted);
}
}
|