Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5d01426ddfb2d47c57f93f71378594e6 |
User & Date: | drh 2014-02-12 14:43:52.953 |
Context
2014-02-12
| ||
21:31 | Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: 56bc5ce895 user: drh tags: trunk) | |
14:43 | Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: 5d01426ddf user: drh tags: trunk) | |
2014-02-11
| ||
16:24 | Increase the version number to 3.8.4 (check-in: 0a8bcbbd4e user: drh tags: trunk) | |
Changes
Changes to src/resolve.c.
︙ | ︙ | |||
376 377 378 379 380 381 382 | } } #endif /* !defined(SQLITE_OMIT_TRIGGER) */ /* ** Perhaps the name is a reference to the ROWID */ | < | > | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | } } #endif /* !defined(SQLITE_OMIT_TRIGGER) */ /* ** Perhaps the name is a reference to the ROWID */ if( cnt==0 && cntTab==1 && pMatch && sqlite3IsRowid(zCol) && HasRowid(pMatch->pTab) ){ cnt = 1; pExpr->iColumn = -1; /* IMP: R-44911-55124 */ pExpr->affinity = SQLITE_AFF_INTEGER; } /* ** If the input is of the form Z (not Y.Z or X.Y.Z) then the name Z |
︙ | ︙ |
Changes to test/without_rowid1.test.
︙ | ︙ | |||
194 195 196 197 198 199 200 | INSERT INTO t4 VALUES('i'); INSERT INTO t4 VALUES('ii'); INSERT INTO t4 VALUES('iii'); INSERT INTO t3 SELECT * FROM t4; SELECT * FROM t3; } {i ii iii} | | > > > > | > > > > > > > > > | > | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | INSERT INTO t4 VALUES('i'); INSERT INTO t4 VALUES('ii'); INSERT INTO t4 VALUES('iii'); INSERT INTO t3 SELECT * FROM t4; SELECT * FROM t3; } {i ii iii} ############################################################################ # Ticket [c34d0557f740c450709d6e33df72d4f3f651a3cc] # Name resolution issue with WITHOUT ROWID # do_execsql_test 4.1 { CREATE TABLE t41(a PRIMARY KEY) WITHOUT ROWID; INSERT INTO t41 VALUES('abc'); CREATE TABLE t42(x); INSERT INTO t42 VALUES('xyz'); SELECT t42.rowid FROM t41, t42; } {1} do_execsql_test 4.2 { SELECT t42.rowid FROM t42, t41; } {1} finish_test |