diff options
Diffstat (limited to 'src/pragma.c')
-rw-r--r-- | src/pragma.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pragma.c b/src/pragma.c index a62fc9997..6899bad6b 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -1157,6 +1157,15 @@ void sqlite3Pragma( Index *pIdx; Table *pTab; pIdx = sqlite3FindIndex(db, zRight, zDb); + if( pIdx==0 ){ + /* If there is no index named zRight, check to see if there is a + ** WITHOUT ROWID table named zRight, and if there is, show the + ** structure of the PRIMARY KEY index for that table. */ + pTab = sqlite3LocateTable(pParse, LOCATE_NOERR, zRight, zDb); + if( pTab && !HasRowid(pTab) ){ + pIdx = sqlite3PrimaryKeyIndex(pTab); + } + } if( pIdx ){ int iIdxDb = sqlite3SchemaToIndex(db, pIdx->pSchema); int i; |