aboutsummaryrefslogtreecommitdiff
path: root/src/pragma.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-03-04 16:42:43 +0000
committerdrh <drh@noemail.net>2016-03-04 16:42:43 +0000
commit2606aca80f35c4672c7834e90786d737679fa35b (patch)
tree2a8be85e2e802ad5ba42c4bb8e9102712cb287aa /src/pragma.c
parentfd37e67b16d6c6228aa58709299c86ec81a552a5 (diff)
parent3298a641a2b1c883b34e9d85541db50d6e2d1ff9 (diff)
downloadsqlite-2606aca80f35c4672c7834e90786d737679fa35b.tar.gz
sqlite-2606aca80f35c4672c7834e90786d737679fa35b.zip
Merge recent enhancements from trunk. Default page size is 4096. Writes
to statement journals are avoided. FossilOrigin-Name: 456df3365e2df60e34762f2024bb551538b3f72b
Diffstat (limited to 'src/pragma.c')
-rw-r--r--src/pragma.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/pragma.c b/src/pragma.c
index c34d5421c..1d6291431 100644
--- a/src/pragma.c
+++ b/src/pragma.c
@@ -1065,6 +1065,7 @@ void sqlite3Pragma(
setAllColumnNames(v, 6, azCol); assert( 6==ArraySize(azCol) );
sqlite3ViewGetColumnNames(pParse, pTab);
for(i=0, pCol=pTab->aCol; i<pTab->nCol; i++, pCol++){
+ const char *zName;
if( IsHiddenColumn(pCol) ){
nHidden++;
continue;
@@ -1076,12 +1077,14 @@ void sqlite3Pragma(
}else{
for(k=1; k<=pTab->nCol && pPk->aiColumn[k-1]!=i; k++){}
}
+ assert( pCol->pDflt==0 || pCol->pDflt->op==TK_SPAN );
+ zName = pCol->zName;
sqlite3VdbeMultiLoad(v, 1, "issisi",
i-nHidden,
- pCol->zName,
- pCol->zType ? pCol->zType : "",
+ zName,
+ sqlite3StrNext(zName),
pCol->notNull ? 1 : 0,
- pCol->zDflt,
+ pCol->pDflt ? pCol->pDflt->u.zToken : 0,
k);
sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 6);
}
@@ -1102,14 +1105,14 @@ void sqlite3Pragma(
sqlite3VdbeMultiLoad(v, 1, "ssii",
pTab->zName,
0,
- (int)sqlite3LogEstToInt(pTab->szTabRow),
- (int)sqlite3LogEstToInt(pTab->nRowLogEst));
+ pTab->szTabRow,
+ pTab->nRowLogEst);
sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4);
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
sqlite3VdbeMultiLoad(v, 2, "sii",
pIdx->zName,
- (int)sqlite3LogEstToInt(pIdx->szIdxRow),
- (int)sqlite3LogEstToInt(pIdx->aiRowLogEst[0]));
+ pIdx->szIdxRow,
+ pIdx->aiRowLogEst[0]);
sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4);
}
}