Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Reinsert code deleted by (1998) that we thought was unused but was in fact needed. Fix for ticket #966. (CVS 2025) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
370ca539506a431dbe77dcb644215886 |
User & Date: | drh 2004-10-19 16:40:59.000 |
Context
2004-10-22
| ||
16:22 | Fix alignment problems in btree and pager and allow page sizes that are not a multiple of 8. (CVS 2026) (check-in: 0539c2d2b8 user: drh tags: trunk) | |
2004-10-19
| ||
16:40 | Reinsert code deleted by (1998) that we thought was unused but was in fact needed. Fix for ticket #966. (CVS 2025) (check-in: 370ca53950 user: drh tags: trunk) | |
01:31 | Fix a typo in the quickstart document. (CVS 2024) (check-in: 55b03c560d user: drh tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** ** $Id: vdbe.c,v 1.419 2004/10/19 16:40:59 drh Exp $ */ #include "sqliteInt.h" #include "os.h" #include <ctype.h> #include "vdbeInt.h" /* |
︙ | ︙ | |||
4233 4234 4235 4236 4237 4238 4239 | ** of the current aggregate. Strings are not duplicated so ** string values will be ephemeral. */ case OP_AggGet: { AggElem *pFocus; int i = pOp->p2; pFocus = p->agg.pCurrent; | | > > > > > > > > > > > > > | 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 | ** of the current aggregate. Strings are not duplicated so ** string values will be ephemeral. */ case OP_AggGet: { AggElem *pFocus; int i = pOp->p2; pFocus = p->agg.pCurrent; if( pFocus==0 ){ int res; if( sqlite3_malloc_failed ) goto no_mem; rc = sqlite3BtreeFirst(p->agg.pCsr, &res); if( rc!=SQLITE_OK ){ return rc; } if( res!=0 ){ rc = AggInsert(&p->agg,"",1); pFocus = p->agg.pCurrent; }else{ rc = sqlite3BtreeData(p->agg.pCsr, 0, 4, (char *)&pFocus); } } assert( i>=0 && i<p->agg.nMem ); pTos++; sqlite3VdbeMemShallowCopy(pTos, &pFocus->aMem[i], MEM_Ephem); if( pTos->flags&MEM_Str ){ sqlite3VdbeChangeEncoding(pTos, db->enc); } break; |
︙ | ︙ |
Changes to test/misc4.test.
︙ | ︙ | |||
9 10 11 12 13 14 15 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for miscellanous features that were # left out of other test files. # | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for miscellanous features that were # left out of other test files. # # $Id: misc4.test,v 1.7 2004/10/19 16:40:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Prepare a statement that will create a temporary table. Then do # a rollback. Then try to execute the prepared statement. # |
︙ | ︙ | |||
78 79 80 81 82 83 84 | } SQLITE_OK do_test misc4-2.4 { catchsql { INSERT INTO t3 VALUES(1); } } {0 {}} | > | > > > > > > > > > > > > > > | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | } SQLITE_OK do_test misc4-2.4 { catchsql { INSERT INTO t3 VALUES(1); } } {0 {}} # Ticket #966 # do_test misc4-3.1 { execsql { CREATE TABLE Table1(ID integer primary key, Value TEXT); INSERT INTO Table1 VALUES(1, 'x'); CREATE TABLE Table2(ID integer NOT NULL, Value TEXT); INSERT INTO Table2 VALUES(1, 'z'); INSERT INTO Table2 VALUES (1, 'a'); SELECT ID, Value FROM Table1 UNION SELECT ID, max(Value) FROM Table2 GROUP BY 1,2 ORDER BY 1, 2; } } {{} {} 1 x 1 z} finish_test |