Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | :-) (CVS 28) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
57c5add197c12c919e2556b5ac421803 |
User & Date: | drh 2000-05-31 21:06:30.000 |
Context
2000-05-31
| ||
22:58 | :-) (CVS 29) (check-in: 09054df318 user: drh tags: trunk) | |
21:06 | :-) (CVS 28) (check-in: 57c5add197 user: drh tags: trunk) | |
20:00 | added DISTINCT on select (CVS 27) (check-in: 1f0c4ffd98 user: drh tags: trunk) | |
Changes
Changes to src/dbbe.c.
︙ | ︙ | |||
26 27 28 29 30 31 32 | ** sqlite and the code that does the actually reading and writing ** of information to the disk. ** ** This file uses GDBM as the database backend. It should be ** relatively simple to convert to a different database such ** as NDBM, SDBM, or BerkeleyDB. ** | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | ** sqlite and the code that does the actually reading and writing ** of information to the disk. ** ** This file uses GDBM as the database backend. It should be ** relatively simple to convert to a different database such ** as NDBM, SDBM, or BerkeleyDB. ** ** $Id: dbbe.c,v 1.5 2000/05/31 21:06:30 drh Exp $ */ #include "sqliteInt.h" #include <gdbm.h> #include <sys/stat.h> #include <unistd.h> #include <ctype.h> #include <time.h> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | */ static void randomName(struct rc4 *pRc4, char *zBuf, char *zPrefix){ int i, j; static const char zRandomChars[] = "abcdefghijklmnopqrstuvwxyz0123456789"; strcpy(zBuf, zPrefix); j = strlen(zBuf); for(i=0; i<15; i++){ | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | */ static void randomName(struct rc4 *pRc4, char *zBuf, char *zPrefix){ int i, j; static const char zRandomChars[] = "abcdefghijklmnopqrstuvwxyz0123456789"; strcpy(zBuf, zPrefix); j = strlen(zBuf); for(i=0; i<15; i++){ int c = rc4byte(pRc4) % (sizeof(zRandomChars) - 1); zBuf[j++] = zRandomChars[c]; } zBuf[j] = 0; } /* |
︙ | ︙ | |||
245 246 247 248 249 250 251 | pBe->pOpen->pPrev = pFile; } pFile->pNext = pBe->pOpen; pBe->pOpen = pFile; if( pFile->zName ){ pFile->dbf = gdbm_open(pFile->zName, 0, GDBM_WRCREAT|GDBM_FAST, 0640, 0); }else{ | | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | pBe->pOpen->pPrev = pFile; } pFile->pNext = pBe->pOpen; pBe->pOpen = pFile; if( pFile->zName ){ pFile->dbf = gdbm_open(pFile->zName, 0, GDBM_WRCREAT|GDBM_FAST, 0640, 0); }else{ int limit; struct rc4 *pRc4; char zRandom[50]; pRc4 = &pBe->rc4; zFile = 0; limit = 5; do { randomName(&pBe->rc4, zRandom, "_temp_table_"); |
︙ | ︙ | |||
556 557 558 559 560 561 562 | if( pBe->apTemp==0 ) return 0; limit = 4; zFile = 0; do{ randomName(&pBe->rc4, zBuf, "/_temp_file_"); sqliteFree(zFile); sqliteSetString(&zFile, pBe->zDir, zBuf, 0); | | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 | if( pBe->apTemp==0 ) return 0; limit = 4; zFile = 0; do{ randomName(&pBe->rc4, zBuf, "/_temp_file_"); sqliteFree(zFile); sqliteSetString(&zFile, pBe->zDir, zBuf, 0); }while( access(zFile,0)==0 && limit-- >= 0 ); pBe->apTemp[i] = fopen(zFile, "w+"); sqliteFree(zFile); return pBe->apTemp[i]; } /* ** Close a temporary file opened using sqliteDbbeOpenTempFile() |
︙ | ︙ |
Changes to www/changes.tcl.
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 May 31} { <li>Added support for aggregate functions (Ex: <b>COUNT(*)</b>, <b>MIN(...)</b>) to the SELECT statement.</li> } chng {2000 May 30} { <li>Added the <b>LIKE</b> operator.</li> <li>Added a <b>GLOB</b> operator: similar to <B>LIKE</B> but it uses Unix shell globbing wildcards instead of the '%' and '_' wildcards of SQL.</li> | > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 May 31} { <li>Added support for aggregate functions (Ex: <b>COUNT(*)</b>, <b>MIN(...)</b>) to the SELECT statement.</li> <li>Added support for <B>SELECT DISTINCT ...</B></li> } chng {2000 May 30} { <li>Added the <b>LIKE</b> operator.</li> <li>Added a <b>GLOB</b> operator: similar to <B>LIKE</B> but it uses Unix shell globbing wildcards instead of the '%' and '_' wildcards of SQL.</li> |
︙ | ︙ |