Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Get LIMIT 0 working on subqueries. Ticket #1784. (CVS 3177) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7f3ef7ddba22d69a23e656836ba76738 |
User & Date: | drh 2006-04-26 17:39:34.000 |
Context
2006-05-03
| ||
23:34 | Faster :memory: database COMMITs. Ticket #1790. (CVS 3178) (check-in: 8f820e4352 user: drh tags: trunk) | |
2006-04-26
| ||
17:39 | Get LIMIT 0 working on subqueries. Ticket #1784. (CVS 3177) (check-in: 7f3ef7ddba user: drh tags: trunk) | |
2006-04-21
| ||
09:38 | Additional information about index sorting in EXPLAIN QUERY PLAN. (CVS 3176) (check-in: 39dd969527 user: drh tags: trunk) | |
Changes
Changes to src/select.c.
︙ | ︙ | |||
8 9 10 11 12 13 14 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains C code routines that are called by the parser ** to handle SELECT statements in SQLite. ** | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains C code routines that are called by the parser ** to handle SELECT statements in SQLite. ** ** $Id: select.c,v 1.313 2006/04/26 17:39:34 drh Exp $ */ #include "sqliteInt.h" /* ** Delete all the content of a Select structure but do not deallocate ** the select structure itself. |
︙ | ︙ | |||
2928 2929 2930 2931 2932 2933 2934 | p->addrOpenVirt[2] = addrSortIndex = sqlite3VdbeOp3(v, OP_OpenVirtual, pOrderBy->iECursor, pOrderBy->nExpr+2, (char*)pKeyInfo, P3_KEYINFO_HANDOFF); }else{ addrSortIndex = -1; } | < < < < < > > > > > | 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 | p->addrOpenVirt[2] = addrSortIndex = sqlite3VdbeOp3(v, OP_OpenVirtual, pOrderBy->iECursor, pOrderBy->nExpr+2, (char*)pKeyInfo, P3_KEYINFO_HANDOFF); }else{ addrSortIndex = -1; } /* If the output is destined for a temporary table, open that table. */ if( eDest==SRT_VirtualTab ){ sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, pEList->nExpr); } /* Set the limiter. */ iEnd = sqlite3VdbeMakeLabel(v); computeLimitRegisters(pParse, p, iEnd); /* Open a virtual index to use for the distinct set. */ if( isDistinct ){ KeyInfo *pKeyInfo; distinct = pParse->nTab++; pKeyInfo = keyInfoFromExprList(pParse, p->pEList); sqlite3VdbeOp3(v, OP_OpenVirtual, distinct, 0, |
︙ | ︙ |
Changes to test/limit.test.
︙ | ︙ | |||
8 9 10 11 12 13 14 | # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the LIMIT ... OFFSET ... clause # of SELECT statements. # | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the LIMIT ... OFFSET ... clause # of SELECT statements. # # $Id: limit.test,v 1.29 2006/04/26 17:39:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Build some test data # execsql { |
︙ | ︙ | |||
432 433 434 435 436 437 438 439 440 | set limit "hello world" set rc [catch { db eval { SELECT x FROM t1 WHERE x<10 LIMIT :limit; } } msg] list $rc $msg } {1 {datatype mismatch}} finish_test | > > > > > > | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 | set limit "hello world" set rc [catch { db eval { SELECT x FROM t1 WHERE x<10 LIMIT :limit; } } msg] list $rc $msg } {1 {datatype mismatch}} do_test limit-11.1 { db eval { SELECT x FROM (SELECT x FROM t1 ORDER BY x LIMIT 0) ORDER BY x } } {} finish_test |