Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Simplification to the logic that computes column type names. Update: Does not work in all configurations. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | does-not-work |
Files: | files | file ages | folders |
SHA3-256: |
f10ece964f1f484ff8985ebabd007db3 |
User & Date: | drh 2017-10-03 03:24:13.675 |
Original Comment: | Simplification to the logic that computes column type names. |
Context
2017-10-03
| ||
03:24 | Simplification to the logic that computes column type names. Update: Does not work in all configurations. (Closed-Leaf check-in: f10ece964f user: drh tags: does-not-work) | |
03:01 | Do not compute column and row size estimates for the transient Table objects associated with the result set of a SELECT statement, since those estimates are never used for anything constructive. (check-in: e4342fd401 user: drh tags: trunk) | |
Changes
Changes to src/select.c.
︙ | ︙ | |||
1445 1446 1447 1448 1449 1450 1451 | NameContext sNC; Expr *p = pS->pEList->a[iCol].pExpr; sNC.pSrcList = pS->pSrc; sNC.pNext = pNC; sNC.pParse = pNC->pParse; zType = columnType(&sNC, p,&zOrigDb,&zOrigTab,&zOrigCol); } | | | > > < > | 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 | NameContext sNC; Expr *p = pS->pEList->a[iCol].pExpr; sNC.pSrcList = pS->pSrc; sNC.pNext = pNC; sNC.pParse = pNC->pParse; zType = columnType(&sNC, p,&zOrigDb,&zOrigTab,&zOrigCol); } }else{ /* Usually a real table, but sometimes a CTE table */ assert( !pS ); testcase( pTab->pSchema==0 ); #ifdef SQLITE_ENABLE_COLUMN_METADATA if( iCol<0 ) iCol = pTab->iPKey; assert( iCol==-1 || (iCol>=0 && iCol<pTab->nCol) ); if( iCol<0 ){ zType = "INTEGER"; zOrigCol = "rowid"; }else{ zOrigCol = pTab->aCol[iCol].zName; zType = sqlite3ColumnType(&pTab->aCol[iCol],0); } zOrigTab = pTab->zName; if( pNC->pParse ){ int iDb = sqlite3SchemaToIndex(pNC->pParse->db, pTab->pSchema); zOrigDb = pNC->pParse->db->aDb[iDb].zDbSName; } #else assert( iCol==-1 || (iCol>=0 && iCol<pTab->nCol) ); if( iCol<0 ){ zType = "INTEGER"; }else{ zType = sqlite3ColumnType(&pTab->aCol[iCol],0); } #endif } |
︙ | ︙ |