diff options
author | drh <drh@noemail.net> | 2016-03-04 16:42:43 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-03-04 16:42:43 +0000 |
commit | 2606aca80f35c4672c7834e90786d737679fa35b (patch) | |
tree | 2a8be85e2e802ad5ba42c4bb8e9102712cb287aa /src/pragma.c | |
parent | fd37e67b16d6c6228aa58709299c86ec81a552a5 (diff) | |
parent | 3298a641a2b1c883b34e9d85541db50d6e2d1ff9 (diff) | |
download | sqlite-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.c | 17 |
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); } } |