Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | :-) (CVS 76) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
19029233082e319d4bfd94b22a694c91 |
User & Date: | drh 2000-06-08 00:28:52.000 |
Context
2000-06-08
| ||
01:55 | :-) (CVS 77) (check-in: b3fb15ccde user: drh tags: trunk) | |
00:28 | :-) (CVS 76) (check-in: 1902923308 user: drh tags: trunk) | |
00:19 | :-) (CVS 75) (check-in: c47d552e7e user: drh tags: trunk) | |
Changes
Changes to src/select.c.
︙ | |||
20 21 22 23 24 25 26 | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | - + | ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** This file contains C code routines that are called by the parser ** to handle SELECT statements. ** |
︙ | |||
505 506 507 508 509 510 511 512 513 514 515 516 517 518 | 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | + + + | /* Convert the data in the temporary table into whatever form ** it is that we currently need. */ if( eDest!=priorOp ){ int iCont, iBreak; assert( p->pEList ); generateColumnNames(pParse, 0, p->pEList); if( p->pOrderBy ){ sqliteVdbeAddOp(v, OP_SortOpen, 0, 0, 0, 0); } iBreak = sqliteVdbeMakeLabel(v); iCont = sqliteVdbeAddOp(v, OP_Next, unionTab, iBreak, 0, 0); rc = selectInnerLoop(pParse, 0, unionTab, p->pEList->nExpr, p->pOrderBy, -1, eDest, iParm, iCont, iBreak); if( rc ) return 1; sqliteVdbeAddOp(v, OP_Goto, 0, iCont, 0, 0); |
︙ | |||
554 555 556 557 558 559 560 561 562 563 564 565 566 567 | 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 | + + + | if( rc ) return rc; /* Generate code to take the intersection of the two temporary ** tables. */ assert( p->pEList ); generateColumnNames(pParse, 0, p->pEList); if( p->pOrderBy ){ sqliteVdbeAddOp(v, OP_SortOpen, 0, 0, 0, 0); } iBreak = sqliteVdbeMakeLabel(v); iCont = sqliteVdbeAddOp(v, OP_Next, tab1, iBreak, 0, 0); sqliteVdbeAddOp(v, OP_Key, tab1, 0, 0, 0); sqliteVdbeAddOp(v, OP_NotFound, tab2, iCont, 0, 0); rc = selectInnerLoop(pParse, 0, tab1, p->pEList->nExpr, p->pOrderBy, -1, eDest, iParm, iCont, iBreak); |
︙ |
Added test/select4.test.