Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove the unused xRename() method from the sqlite3_vfs object. Add better documentation on the xCurrentTimeInt64() method. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
51ec0e5432dd6849b83a3d969a018482 |
User & Date: | drh 2010-07-03 17:13:32.000 |
Context
2010-07-03
| ||
19:08 | Do not run the memsubsys1.test script under the memsubsys1 permutation. (check-in: 3a1a8c77a5 user: dan tags: trunk) | |
17:13 | Remove the unused xRename() method from the sqlite3_vfs object. Add better documentation on the xCurrentTimeInt64() method. (check-in: 51ec0e5432 user: drh tags: trunk) | |
16:37 | Further changes to test scripts so that the "inmemory_journal" permutation works. (check-in: 50f2f7dfd6 user: dan tags: trunk) | |
Changes
Changes to src/os_unix.c.
︙ | ︙ | |||
6080 6081 6082 6083 6084 6085 6086 | unixDlError, /* xDlError */ \ unixDlSym, /* xDlSym */ \ unixDlClose, /* xDlClose */ \ unixRandomness, /* xRandomness */ \ unixSleep, /* xSleep */ \ unixCurrentTime, /* xCurrentTime */ \ unixGetLastError, /* xGetLastError */ \ | < | 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 | unixDlError, /* xDlError */ \ unixDlSym, /* xDlSym */ \ unixDlClose, /* xDlClose */ \ unixRandomness, /* xRandomness */ \ unixSleep, /* xSleep */ \ unixCurrentTime, /* xCurrentTime */ \ unixGetLastError, /* xGetLastError */ \ unixCurrentTimeInt64, /* xCurrentTimeInt64 */ \ } /* ** All default VFSes for unix are contained in the following array. ** ** Note that the sqlite3_vfs.pNext field of the VFS object is modified |
︙ | ︙ |
Changes to src/os_win.c.
︙ | ︙ | |||
2474 2475 2476 2477 2478 2479 2480 | winDlError, /* xDlError */ winDlSym, /* xDlSym */ winDlClose, /* xDlClose */ winRandomness, /* xRandomness */ winSleep, /* xSleep */ winCurrentTime, /* xCurrentTime */ winGetLastError, /* xGetLastError */ | < | 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 | winDlError, /* xDlError */ winDlSym, /* xDlSym */ winDlClose, /* xDlClose */ winRandomness, /* xRandomness */ winSleep, /* xSleep */ winCurrentTime, /* xCurrentTime */ winGetLastError, /* xGetLastError */ winCurrentTimeInt64, /* xCurrentTimeInt64 */ }; sqlite3_vfs_register(&winVfs, 1); return SQLITE_OK; } int sqlite3_os_end(void){ |
︙ | ︙ |
Changes to src/sqlite.h.in.
︙ | ︙ | |||
823 824 825 826 827 828 829 | ** SQLite will always allocate at least mxPathname+1 bytes for the ** output buffer xFullPathname. The exact size of the output buffer ** is also passed as a parameter to both methods. If the output buffer ** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is ** handled as a fatal error by SQLite, vfs implementations should endeavor ** to prevent this by setting mxPathname to a sufficiently large value. ** | | | | > > > | > > > > | 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 | ** SQLite will always allocate at least mxPathname+1 bytes for the ** output buffer xFullPathname. The exact size of the output buffer ** is also passed as a parameter to both methods. If the output buffer ** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is ** handled as a fatal error by SQLite, vfs implementations should endeavor ** to prevent this by setting mxPathname to a sufficiently large value. ** ** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() ** interfaces are not strictly a part of the filesystem, but they are ** included in the VFS structure for completeness. ** The xRandomness() function attempts to return nBytes bytes ** of good-quality randomness into zOut. The return value is ** the actual number of bytes of randomness obtained. ** The xSleep() method causes the calling thread to sleep for at ** least the number of microseconds given. The xCurrentTime() ** method returns a Julian Day Number for the current date and time as ** a floating point value. ** The xCurrentTimeInt64() method returns, as an integer, the Julian ** Day Number multipled by 86400000 (the number of milliseconds in ** a 24-hour day). ** ^SQLite will use the xCurrentTimeInt64() method to get the current ** date and time if that method is available (if iVersion is 2 or ** greater and the function pointer is not NULL) and will fall back ** to xCurrentTime() if xCurrentTimeInt64() is unavailable. */ typedef struct sqlite3_vfs sqlite3_vfs; struct sqlite3_vfs { int iVersion; /* Structure version number (currently 2) */ int szOsFile; /* Size of subclassed sqlite3_file */ int mxPathname; /* Maximum file pathname length */ sqlite3_vfs *pNext; /* Next registered VFS */ |
︙ | ︙ | |||
859 860 861 862 863 864 865 | int (*xSleep)(sqlite3_vfs*, int microseconds); int (*xCurrentTime)(sqlite3_vfs*, double*); int (*xGetLastError)(sqlite3_vfs*, int, char *); /* ** The methods above are in version 1 of the sqlite_vfs object ** definition. Those that follow are added in version 2 or later */ | < | 866 867 868 869 870 871 872 873 874 875 876 877 878 879 | int (*xSleep)(sqlite3_vfs*, int microseconds); int (*xCurrentTime)(sqlite3_vfs*, double*); int (*xGetLastError)(sqlite3_vfs*, int, char *); /* ** The methods above are in version 1 of the sqlite_vfs object ** definition. Those that follow are added in version 2 or later */ int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); /* ** The methods above are in versions 1 and 2 of the sqlite_vfs object. ** New fields may be appended in figure versions. The iVersion ** value will increment whenever this happens. */ }; |
︙ | ︙ |
Changes to src/test6.c.
︙ | ︙ | |||
809 810 811 812 813 814 815 | cfDlError, /* xDlError */ cfDlSym, /* xDlSym */ cfDlClose, /* xDlClose */ cfRandomness, /* xRandomness */ cfSleep, /* xSleep */ cfCurrentTime, /* xCurrentTime */ 0, /* xGetlastError */ | < | 809 810 811 812 813 814 815 816 817 818 819 820 821 822 | cfDlError, /* xDlError */ cfDlSym, /* xDlSym */ cfDlClose, /* xDlClose */ cfRandomness, /* xRandomness */ cfSleep, /* xSleep */ cfCurrentTime, /* xCurrentTime */ 0, /* xGetlastError */ 0, /* xCurrentTimeInt64 */ }; if( objc!=2 ){ Tcl_WrongNumArgs(interp, 1, objv, "ENABLE"); return TCL_ERROR; } |
︙ | ︙ |
Changes to src/test_devsym.c.
︙ | ︙ | |||
95 96 97 98 99 100 101 | 0, /* xDlSym */ 0, /* xDlClose */ #endif /* SQLITE_OMIT_LOAD_EXTENSION */ devsymRandomness, /* xRandomness */ devsymSleep, /* xSleep */ devsymCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ | < | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | 0, /* xDlSym */ 0, /* xDlClose */ #endif /* SQLITE_OMIT_LOAD_EXTENSION */ devsymRandomness, /* xRandomness */ devsymSleep, /* xSleep */ devsymCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ 0 /* xCurrentTimeInt64 */ }; static sqlite3_io_methods devsym_io_methods = { 2, /* iVersion */ devsymClose, /* xClose */ devsymRead, /* xRead */ |
︙ | ︙ |
Changes to src/test_journal.c.
︙ | ︙ | |||
178 179 180 181 182 183 184 | jtDlError, /* xDlError */ jtDlSym, /* xDlSym */ jtDlClose, /* xDlClose */ jtRandomness, /* xRandomness */ jtSleep, /* xSleep */ jtCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ | < | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | jtDlError, /* xDlError */ jtDlSym, /* xDlSym */ jtDlClose, /* xDlClose */ jtRandomness, /* xRandomness */ jtSleep, /* xSleep */ jtCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ jtCurrentTimeInt64 /* xCurrentTimeInt64 */ }; static sqlite3_io_methods jt_io_methods = { 1, /* iVersion */ jtClose, /* xClose */ jtRead, /* xRead */ |
︙ | ︙ |
Changes to src/test_onefile.c.
︙ | ︙ | |||
195 196 197 198 199 200 201 | fsDlOpen, /* xDlOpen */ fsDlError, /* xDlError */ fsDlSym, /* xDlSym */ fsDlClose, /* xDlClose */ fsRandomness, /* xRandomness */ fsSleep, /* xSleep */ fsCurrentTime, /* xCurrentTime */ | < | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | fsDlOpen, /* xDlOpen */ fsDlError, /* xDlError */ fsDlSym, /* xDlSym */ fsDlClose, /* xDlClose */ fsRandomness, /* xRandomness */ fsSleep, /* xSleep */ fsCurrentTime, /* xCurrentTime */ 0 /* xCurrentTimeInt64 */ }, 0, /* pFileList */ 0 /* pParent */ }; static sqlite3_io_methods fs_io_methods = { |
︙ | ︙ |
Changes to src/test_osinst.c.
︙ | ︙ | |||
18 19 20 21 22 23 24 | /* ** This module contains code for a wrapper VFS that causes a log of ** most VFS calls to be written into a nominated file on disk. The log ** is stored in a compressed binary format to reduce the amount of IO ** overhead introduced into the application by logging. ** ** All calls on sqlite3_file objects except xFileControl() are logged. | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | /* ** This module contains code for a wrapper VFS that causes a log of ** most VFS calls to be written into a nominated file on disk. The log ** is stored in a compressed binary format to reduce the amount of IO ** overhead introduced into the application by logging. ** ** All calls on sqlite3_file objects except xFileControl() are logged. ** Additionally, calls to the xAccess(), xOpen(), and xDelete() ** methods are logged. The other sqlite3_vfs object methods (xDlXXX, ** xRandomness, xSleep, xCurrentTime, xGetLastError and xCurrentTimeInt64) ** are not logged. ** ** The binary log files are read using a virtual table implementation ** also contained in this file. ** |
︙ | ︙ | |||
167 168 169 170 171 172 173 | static void (*vfslogDlSym(sqlite3_vfs *pVfs, void *p, const char*zSym))(void); static void vfslogDlClose(sqlite3_vfs*, void*); static int vfslogRandomness(sqlite3_vfs*, int nByte, char *zOut); static int vfslogSleep(sqlite3_vfs*, int microseconds); static int vfslogCurrentTime(sqlite3_vfs*, double*); static int vfslogGetLastError(sqlite3_vfs*, int, char *); | < | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | static void (*vfslogDlSym(sqlite3_vfs *pVfs, void *p, const char*zSym))(void); static void vfslogDlClose(sqlite3_vfs*, void*); static int vfslogRandomness(sqlite3_vfs*, int nByte, char *zOut); static int vfslogSleep(sqlite3_vfs*, int microseconds); static int vfslogCurrentTime(sqlite3_vfs*, double*); static int vfslogGetLastError(sqlite3_vfs*, int, char *); static int vfslogCurrentTimeInt64(sqlite3_vfs*, sqlite3_int64*); static sqlite3_vfs vfslog_vfs = { 1, /* iVersion */ sizeof(VfslogFile), /* szOsFile */ INST_MAX_PATHNAME, /* mxPathname */ 0, /* pNext */ |
︙ | ︙ | |||
189 190 191 192 193 194 195 | vfslogDlError, /* xDlError */ vfslogDlSym, /* xDlSym */ vfslogDlClose, /* xDlClose */ vfslogRandomness, /* xRandomness */ vfslogSleep, /* xSleep */ vfslogCurrentTime, /* xCurrentTime */ vfslogGetLastError, /* xGetLastError */ | < | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | vfslogDlError, /* xDlError */ vfslogDlSym, /* xDlSym */ vfslogDlClose, /* xDlClose */ vfslogRandomness, /* xRandomness */ vfslogSleep, /* xSleep */ vfslogCurrentTime, /* xCurrentTime */ vfslogGetLastError, /* xGetLastError */ vfslogCurrentTimeInt64 /* xCurrentTime */ }; static sqlite3_io_methods vfslog_io_methods = { 2, /* iVersion */ vfslogClose, /* xClose */ vfslogRead, /* xRead */ |
︙ | ︙ | |||
612 613 614 615 616 617 618 | static int vfslogCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut){ return REALVFS(pVfs)->xCurrentTime(REALVFS(pVfs), pTimeOut); } static int vfslogGetLastError(sqlite3_vfs *pVfs, int a, char *b){ return REALVFS(pVfs)->xGetLastError(REALVFS(pVfs), a, b); } | < < < | 610 611 612 613 614 615 616 617 618 619 620 621 622 623 | static int vfslogCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut){ return REALVFS(pVfs)->xCurrentTime(REALVFS(pVfs), pTimeOut); } static int vfslogGetLastError(sqlite3_vfs *pVfs, int a, char *b){ return REALVFS(pVfs)->xGetLastError(REALVFS(pVfs), a, b); } static int vfslogCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *p){ return REALVFS(pVfs)->xCurrentTimeInt64(REALVFS(pVfs), p); } static void vfslog_flush(VfslogVfs *p){ #ifdef SQLITE_TEST extern int sqlite3_io_error_pending; |
︙ | ︙ |
Changes to src/test_vfs.c.
︙ | ︙ | |||
1292 1293 1294 1295 1296 1297 1298 | 0, /* xDlSym */ 0, /* xDlClose */ #endif /* SQLITE_OMIT_LOAD_EXTENSION */ tvfsRandomness, /* xRandomness */ tvfsSleep, /* xSleep */ tvfsCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ | | < | 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 | 0, /* xDlSym */ 0, /* xDlClose */ #endif /* SQLITE_OMIT_LOAD_EXTENSION */ tvfsRandomness, /* xRandomness */ tvfsSleep, /* xSleep */ tvfsCurrentTime, /* xCurrentTime */ 0, /* xGetLastError */ 0, /* xCurrentTimeInt64 */ }; Testvfs *p; /* New object */ sqlite3_vfs *pVfs; /* New VFS */ char *zVfs; int nByte; /* Bytes of space to allocate at p */ |
︙ | ︙ |