Commit Graph

745 Commits

Author SHA1 Message Date
shane 21e7febffd Fix typos in comments in vdbe.c. (CVS 5182)
FossilOrigin-Name: 0613569424995207c600279c0d2337d5d5a3658c
2008-05-30 15:59:49 +00:00
shane 9bcbdad298 Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178)
FossilOrigin-Name: 9883b406ce24eae93942ee5e6aab33fb6b05329f
2008-05-29 20:22:37 +00:00
drh 174edc6477 Fix cosmetic issues spotted while working on ticket #3146 (CVS 5177)
FossilOrigin-Name: 5f6eab65dba421a736659a6673a51a0e487d68ac
2008-05-29 05:23:41 +00:00
drh bfdc754f65 Fix an obsolete comment on the OP_Rowid opcode in the VDBE. (CVS 5174)
FossilOrigin-Name: 0d55328e680e23aae36d8f32a05aa3815393ac1d
2008-05-29 03:12:54 +00:00
danielk1977 59a93791ce Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135)
FossilOrigin-Name: eb6985e69ce2a5e5e7361f6226d1cfc547fd441d
2008-05-15 17:48:20 +00:00
drh 4873d5f614 Make the benign-fault setting recursive. Make all malloc failures
during a rollback benign since there is nothing we can do about them. (CVS 5128)

FossilOrigin-Name: a9d1d931358637a6f039723a053098f65530de4b
2008-05-13 13:27:33 +00:00
drh 0f050353e9 Reformulate the constants for the minimum and maximum 64-bit signed
integer to work better with some compilers.  Ticket #3105. (CVS 5113)

FossilOrigin-Name: 18b1ee10b89bd0a98d1986dbb04b9d6cfc3dad39
2008-05-09 18:03:13 +00:00
shane 2ca8bc08dd Added test cases for corrupt SerialTypeLen header values, and additional check to improve detection of corrupt values. (CVS 5101)
FossilOrigin-Name: 530c6360610f737e85608b23ede2646d69d1bc9a
2008-05-07 18:59:28 +00:00
drh 2eaf93d34f Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify
that this is happening. (CVS 5066)

FossilOrigin-Name: 9b07e59e510e2de39c2081653662fbc654ca6fbb
2008-04-29 00:15:20 +00:00
drh 0de3ae95d5 Change the implementation of the NaN recognition to be more cross-platform.
Ticket #3089. (CVS 5060)

FossilOrigin-Name: 07fd9a8c6ca0876f7ec447ce65173957005dc75c
2008-04-28 16:55:26 +00:00
drh 82ed1e5b37 Clarify some comments. No changes to code. (CVS 5049)
FossilOrigin-Name: 7f80539225b17a62e4aa09e6d514e3e9e1b22c36
2008-04-25 12:25:42 +00:00
shane 3f8d5cfcad Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045)
FossilOrigin-Name: 0d04ccd97841bbbda564cc6ae5da057ee3888fa3
2008-04-24 19:15:09 +00:00
danielk1977 61dd58391f Remove unused code from OP_IdxLt and OP_IdxGE. (CVS 5030)
FossilOrigin-Name: df02175ec0f28d57942b8275b540ff855dfbeb09
2008-04-18 11:31:12 +00:00
danielk1977 b790c6c596 Combine cases 3 and 4 in where.c, since case 4 is now a special case of case 3. (CVS 5029)
FossilOrigin-Name: 9a976819246eb558ba43429f8889972c4a4bce9d
2008-04-18 10:25:24 +00:00
danielk1977 751de567c1 Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028)
FossilOrigin-Name: c448f15aa5ed3dec511426775e893efea324faa1
2008-04-18 09:01:15 +00:00
drh 191b54cb5d Fix a code generator bug caused by the new CSE optimization. Add test cases
to prevent a recurrence. (CVS 5011)

FossilOrigin-Name: d04246a46399e839e70b1bd57e209f80143f0d5b
2008-04-15 12:14:21 +00:00
drh b5df14486d Make sure changes to virtual tables are counted the same as real tables.
Ticket #3038. (CVS 4976)

FossilOrigin-Name: 55591fc49c8ab8146c1f3eff733e637501bff627
2008-04-10 14:00:09 +00:00
drh 35b5a33e24 Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint.
Gives 0.5% speed increase. (CVS 4968)

FossilOrigin-Name: b2517a7d8f7275943d44cc301f9d54fc8a4653e7
2008-04-05 18:41:42 +00:00
drh 75e99a4727 Fix to the previous check-in so that it works on a intel Mac. (CVS 4962)
FossilOrigin-Name: 1d67f41c885d052ab10a33892938a85b56882b3d
2008-04-03 20:09:06 +00:00
drh d543a42248 Use an improved RDTSC access routine. (CVS 4961)
FossilOrigin-Name: b4eba9c533f6aac9dde4f2c9796fe02e25158a0f
2008-04-03 19:40:59 +00:00
drh 6a9ad3da22 Simplifications to the LockTable opcode. (CVS 4954)
FossilOrigin-Name: 66c5d715bbb732b0861a8a6f994cb4a8f259f2f8
2008-04-02 16:29:30 +00:00
drh e1349cb0f0 Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce
the number of branch instructions. (CVS 4945)

FossilOrigin-Name: 53e533d3a764d1973c24bffaacc505ea4b61a2b9
2008-04-01 00:36:10 +00:00
drh 678ccce8b3 Factor constant subexpressions out of loops. (CVS 4942)
FossilOrigin-Name: 2126db39854c751aea6c95c67894ed9b9dfc0763
2008-03-31 18:19:54 +00:00
danielk1977 75eb016666 Fix a memory leak that can occur when the library API is misused. (CVS 4932)
FossilOrigin-Name: 2b6d3e015e3088531c62230c9b3bdab47ef534da
2008-03-28 19:16:33 +00:00
danielk1977 5f09613545 Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928)
FossilOrigin-Name: d0bf73d81453da1d8e602e0445064d9f5e348063
2008-03-28 15:44:09 +00:00
drh 19db935225 Allow the xAccess method in the VFS to return -1 to signal an I/O
error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925)

FossilOrigin-Name: 3cb704c4c439425781644b1b653b7e50f02fd91e
2008-03-27 22:42:51 +00:00
danielk1977 9882d99993 Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924)
FossilOrigin-Name: 1a58a87023f7780aee813ac64dda1a80021002a7
2008-03-27 17:59:01 +00:00
drh e14006d0de Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
than a record formed using {quote: MakeRecord.}  This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)

FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +00:00
danielk1977 cd3e8f7ce9 Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +00:00
drh 1e968a0cbf Removed the direct btree tests - part of the ongoing effort to test by
calling only public interfaces.  Modify the sqlite3VdbeRecordCompare
interface to used a pre-parsed second key - resulting in a 13%
performance improvement on speed1p.test. (CVS 4911)

FossilOrigin-Name: 0e1d84f2f456e7680bb667266745b629ddf3605f
2008-03-25 00:22:21 +00:00
drh 2dca868075 Make sure the text result of an aggregate function has the correct
encoding.  Ticket #3009. (CVS 4903)

FossilOrigin-Name: 13e388cecf53d680a79ef29ff4e82e59de8f1264
2008-03-21 17:13:13 +00:00
drh bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
drh fa4a4b9159 Add a new interface, sqlite3_context_db_handle(), that returns the database
connection pointer for an application-defined function. (CVS 4889)

FossilOrigin-Name: 54c55cae556af5a16c0ce8be1a96d2932db80ad8
2008-03-19 21:45:51 +00:00
drh 2fa1868fb6 Add a new api sqlite3_randomness() for providing access to SQLite's
internal PRNG.  Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882)

FossilOrigin-Name: 15110ea02768bfe977a57eccd6b941a36ebd6b32
2008-03-19 14:15:34 +00:00
drh 6c44ea48b8 Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873)
FossilOrigin-Name: fcf3d0a3d5d3a71155ab0aa5f533da72063d54f0
2008-03-17 17:18:37 +00:00
drh 280396906f Detect the failure to zero-terminate a result string due to a malloc
failure. (CVS 4871)

FossilOrigin-Name: 57db14067ff7d519291bebe695dcf991a9462372
2008-03-17 16:54:01 +00:00
danielk1977 a7a8e14bf2 Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783)
FossilOrigin-Name: 990237e27e417aff3dbf05784b716c21f3761a3a
2008-02-13 18:25:27 +00:00
drh 69544ec9cb Add the sqlite3_result_error_code() application interface. Use it in the
ATTACH function so that a failed attach returns a proper error code.
Ticket #2914. (CVS 4775)

FossilOrigin-Name: c24616204307936d03d39d2ef0fe6856113f6977
2008-02-06 14:11:34 +00:00
drh 1d454a31b5 Fix a problem with virtual tables and left joins introduced by
check-in (4761).  Ticket #2894 and #2913. (CVS 4765)

FossilOrigin-Name: ebeac2a499ce16ac7e6d12daa5ce9d41e9067d28
2008-01-31 19:34:51 +00:00
drh 2945b4a1ac Make sure virtual table interfaces are not invoked after EOF when
the virtual table appears in an outer join.  Ticket #2894. (CVS 4761)

FossilOrigin-Name: face510bc14f440fc08dd5a354882ae05499bfa7
2008-01-31 15:53:45 +00:00
drh 7e8b848a60 Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when
compiling without -DSQLITE_DEBUG=1. (CVS 4744)

FossilOrigin-Name: 5375ad6b4b652f388469b0ce4e8e78b3f49169bd
2008-01-23 03:03:05 +00:00
drh 643167ff21 Add the fault injector module in fault.c. Use it as a basis for memory
allocation failure testing. (CVS 4742)

FossilOrigin-Name: 1a335e180183b414fcc3510ce28b98b21cd134a6
2008-01-22 21:30:53 +00:00
drh 60a713c66b Miscellaneous test coverage improvements. (CVS 4734)
FossilOrigin-Name: 720bc20a11275ffe139df9203f23e0683b9b4db1
2008-01-21 16:22:45 +00:00
drh de4fcfdd7a Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731)
FossilOrigin-Name: 010f7b780cb9c8f21af9ce810494fbd2be98a13f
2008-01-19 23:50:26 +00:00
drh 91fd4d46ad Miscellaneous code simplifications and cleanup and test coverage
enhancements. (CVS 4730)

FossilOrigin-Name: af129b6d158cc90ce9752dd6383c1de47f7b3e43
2008-01-19 20:11:25 +00:00
drh a05a722f23 Cleanup and simplification of constraint processing. Simplifications
to the VM for better test coverage. (CVS 4729)

FossilOrigin-Name: d9ebe9d78c558af050c44ac4437ce0ef8193a4a8
2008-01-19 03:35:58 +00:00
drh ca48c90f60 Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce
the amount of memory allocation required to encode blob literals.
Remove the "out2" instruction type.  Other minor optimizations. (CVS 4726)

FossilOrigin-Name: 0e50c0200a3c1c04e63cbb55a7255cdbbd225347
2008-01-18 14:08:24 +00:00
drh 9cbf3425fb Registerification of the VDBE is complete. The operand stack has been
removed from the code.  All instructions operate out of registers only. (CVS 4718)

FossilOrigin-Name: 706b41b70bd1e2030e6fa44358c38a26c5cf0985
2008-01-17 16:22:13 +00:00
drh 1db639cef3 Registerification of the WHERE clause logic. (CVS 4716)
FossilOrigin-Name: b3a141b2b0c09bf3c7704deeade290d71b7c9b77
2008-01-17 02:36:28 +00:00
drh 93aed5a177 Get all tests running without memory leaks. (CVS 4714)
FossilOrigin-Name: 5807921f5a6e2e08f2c9e79aa91d8c587d64de74
2008-01-16 17:46:38 +00:00