Commit Graph

975 Commits

Author SHA1 Message Date
drh 5774b80629 More bug fixes. But there are still tests that fail. (CVS 2664)
FossilOrigin-Name: 7e85a162d0ecf0acdbffcacc62b60d97fe123881
2005-09-07 22:48:16 +00:00
drh 13449892ef Rewrite the aggregate handling logic so that it runs in O(1) space.
This is the first cut at the code.  Many regression tests fail. (CVS 2662)

FossilOrigin-Name: 17039ec3ff4396862beedf4a8af89654b2140f58
2005-09-07 21:22:45 +00:00
drh 79158e1865 Changes to reduce the amount of stack space required. (CVS 2661)
FossilOrigin-Name: b86bd70f301205d6ca66475a425e157b976107e2
2005-09-06 21:40:45 +00:00
drh 1ec43c9a5a Fix ANALYZE so that it works even if the empty_result_callbacks pragma is
enabled. Ticket #1409. (CVS 2659)

FossilOrigin-Name: bfdaef1224d741deefe211e1e607bac4c80f2d89
2005-09-06 10:26:47 +00:00
drh a21c8495f9 Fix over-aggressive optimization of ORDER BY as reported on the mailing list. (CVS 2655)
FossilOrigin-Name: efbb4bc83cd86b6a26d58c5818c58c2e3edaab18
2005-09-01 17:47:51 +00:00
drh 4db38a7092 All regression tests now pass with the new bounded-memory sort code.
There is still lots of opportunity for optimization, however. (CVS 2654)

FossilOrigin-Name: 81259a01f1e85ba50a1d017b1282bf841b16f0a5
2005-09-01 12:16:28 +00:00
drh 0342b1f542 Sorting is now done using a sorting index rather than loading the entire
result set into memory and doing a merge sort.  The old merge sort technique
was a carry-over from SQLite version 1.  The new method uses a bounded amount
of memory and scales to much larger result sets.  There are still errors:
some 39 regression tests fail. (CVS 2653)

FossilOrigin-Name: 09db0a24241f9248584250d1728117b8a3159626
2005-09-01 03:07:44 +00:00
drh 63782855ee Fix printf.c so that it handles 10.0 correctly. (CVS 2643)
FossilOrigin-Name: 0f7a53f78d9dd5c426be834f2d50a6fe4e860141
2005-08-30 19:30:59 +00:00
drh 19e2d37f1d Increase resolution of time-of-day on unix. Add an experimental
sqlite3_profile() API. (CVS 2639)

FossilOrigin-Name: ed2ca0873fa89d6cfd123541d5d1c6b92c72b6ab
2005-08-29 23:00:03 +00:00
drh d64fe2f374 The LIKE optimization does the right thing when collating sequences are
present.  LIKE expressions where the left-hand side has COLLATE NOCASE
are optimized in the default case. (CVS 2637)

FossilOrigin-Name: ef84ff795c85e9d28f1cac84ff42d8d4ef84cfc4
2005-08-28 17:00:23 +00:00
drh 2c8997b9a5 Disable synchronous writes to the master journal when PRAGMA synchronous=OFF
for all database files.  Ticket #1375. (CVS 2630)

FossilOrigin-Name: 644b96aa23de7e828280d35785db840a4fa9413d
2005-08-27 16:36:48 +00:00
drh 87abf5c033 When the left-hand side of an IN operator is constant and the right-hand
side is a SELECT, recognize that the IN operator is not constant.
Ticket #1380. (CVS 2624)

FossilOrigin-Name: fc9e04609b6968fc5039a6f9f808aac681f4fc41
2005-08-25 12:45:04 +00:00
drh 3ca84ba0a0 Fix a bug in DELETE that might cause a segfault when deleting more
than 40940 rows of data all at once. (CVS 2620)

FossilOrigin-Name: 7c599bae33ba4eb10fc486ae3dab76330ce69936
2005-08-24 16:13:51 +00:00
drh 9eb2028fbc After calling realloc() on an array to resize it, be sure not to use pointers
into the old array.  Ticket #1376. (CVS 2617)

FossilOrigin-Name: 9f9a257123274779150cbc290b9f86a09b3b2c03
2005-08-24 03:52:18 +00:00
drh 7681618c18 Allow floating point literals to being or end with a decimal point.
Ticket #1371. (CVS 2616)

FossilOrigin-Name: a715e7001247e84e0982335570593f0802774635
2005-08-23 11:31:26 +00:00
drh 6c8c6cec1f Handle empty blob constants correctly. Ticket #1373. (CVS 2615)
FossilOrigin-Name: 5cada745ac9bf18a65d21705a398b2bb8bd1aaa2
2005-08-23 11:17:58 +00:00
drh 788581d78a Disable malloc tests when not compiled with SQLITE_DEBUG. (CVS 2608)
FossilOrigin-Name: f372682fa375c22213da0e4cd8413eab3c6ac85b
2005-08-21 18:21:50 +00:00
drh 992f2d781d Do not overwrite small files (less than 1024 bytes) that are not databases.
Ticket #1370. (CVS 2606)

FossilOrigin-Name: 7f4302686e55f22b281d98a8a3b89300f4ce4eb6
2005-08-21 16:54:25 +00:00
drh f0bce09cdd More test coverage improvements. (CVS 2605)
FossilOrigin-Name: e559e810a51427def6928763ae0d6f7347366d04
2005-08-20 13:47:41 +00:00
drh 85c23c61e2 Increased test coverage. Some malloc tests now fail though this is believed
to be an instrumentation problem not a real error. (CVS 2604)

FossilOrigin-Name: f786f37a5e31f42aaf81b3ad4a734f12855da69e
2005-08-20 03:03:04 +00:00
drh 0bbaa1ba9a Increase test coverage of alter.c to 100%. Fix bugs found in the process. (CVS 2603)
FossilOrigin-Name: b550d04d43a92f33a01438ae03df14678db3cdee
2005-08-19 19:14:12 +00:00
drh f14fd03899 Additional tests for better coverage. (CVS 2602)
FossilOrigin-Name: 4281a838f2f531af24b008d2834e8318798472c5
2005-08-19 03:03:51 +00:00
drh 5eba8c09df Increased test coverage on trigger.c and printf.c. (CVS 2601)
FossilOrigin-Name: 842a80bd8f18d6fd046604f9a057bcd738234f1f
2005-08-19 02:26:27 +00:00
drh fc23314a0b More test coverage enhancements. (CVS 2600)
FossilOrigin-Name: 0b6cd5acc0ede3367623f40ccfaa96116e686824
2005-08-19 01:07:15 +00:00
drh 8b3d990b71 Bring testing coverage of the analyze.c file up to 100%. Bugs found and
fixed in the process. (CVS 2599)

FossilOrigin-Name: 2fe0ac4fa4d5911e266979021fa7e413d96c558d
2005-08-19 00:14:42 +00:00
drh 55ef4d9758 The case_sensitive_like pragma added.
Test cases added for the LIKE optimization. (CVS 2592)

FossilOrigin-Name: 72ee21c05e618b6f46f5460f8c85779c72fe32d7
2005-08-14 01:20:37 +00:00
drh 3d94662a06 Provide grave accent quoting of identifiers for MySQL compatibility.
Ticket #1337. (CVS 2591)

FossilOrigin-Name: 6b7a4e97528a4e179e0bbae69469cb1a3d1f794b
2005-08-13 18:15:42 +00:00
drh 8718f52624 Disable an overzealous optimization the omitted sorting on a join if the first
table gave a unique result.  The sort can only be omitted if all tables in
the join are unique.  Ticket #1358. (CVS 2589)

FossilOrigin-Name: 4f07661279fb11a06b3ddffeda672f077c0d306a
2005-08-13 16:13:04 +00:00
drh 557cc60f4d Add the "!" flag to the "%g" mprintf conversion parameter to force a
decimal point.  This prevents floating point values from appearing as
integers.  Use this flag when converting floating point to text.
Ticket #1362. (CVS 2586)

FossilOrigin-Name: 4b98dace6b90abf4a6fe1cd51e6392fd213358c4
2005-08-13 12:59:14 +00:00
drh 592ac8cb6c Make the round() function work correctly on numbers with very large exponents.
Ticket #1340. (CVS 2585)

FossilOrigin-Name: 4f47c3c884e38b810450b6127ab33c7b86e6743c
2005-08-13 03:07:47 +00:00
drh 42b9d7c561 Fix a memory leak that occurs when a CREATE TABLE that contains a
DEFAULT VALUE fails due to a name conflict.  Tickets #1356 and #1357. (CVS 2584)

FossilOrigin-Name: 25cfe9390dda79bb2a7740b3d7380f517a4e8d1b
2005-08-13 00:56:27 +00:00
drh 2501eb1df6 3rd argument to sqlite3Error() should always be a format string, never
user-supplied error message text.  Ticket #1354. (CVS 2583)

FossilOrigin-Name: d6146a542aacd10d349d432fe343cc17cc3b3ab5
2005-08-12 23:20:53 +00:00
drh bb7ac00bf0 Improved error message when a #NNN parameter appears on user input.
Additional coverage testing. (CVS 2582)

FossilOrigin-Name: 3c00f5982ae61dfcd26c33ccdb81736628dbfce5
2005-08-12 22:58:53 +00:00
drh 2db0bbc24b Improve the error message associated with SQLITE_FULL. Ticket #1353.
Also remove error messages for obsolete error codes SQLITE_INTERNAL,
SQLITE_NOTFOUND, and SQLITE_TOOBIG. (CVS 2580)

FossilOrigin-Name: fa7403c7d9948cc4a6c6ed00a614e3d6a3682e78
2005-08-11 02:10:18 +00:00
drh b5555e7e34 Tests and bug fixes on the new transaction method in the TCL interface. (CVS 2574)
FossilOrigin-Name: 68dd0ed5e312ecd5e98ee0fa1c21b70ff330f711
2005-08-02 17:15:14 +00:00
drh 09d0debf3b Fix a bug in the btree balancer. ticket #1346. (CVS 2573)
FossilOrigin-Name: 3af69a49289f52f321ccd365e92d22b820c3139e
2005-08-02 17:13:09 +00:00
drh 3d21423c65 Add the "transaction" coommand to the TCL interface. Untested. (CVS 2572)
FossilOrigin-Name: a5ce6c58c3bfc0e1c9953fe4ad4991ac56a4fb87
2005-08-02 12:21:08 +00:00
drh 943af3cda1 Fix problems caused by over-agressive optimization of ORDER BY in joins.
Lots more testing needed. (CVS 2571)

FossilOrigin-Name: 1a4e526d46280970b43505a5c8a4090767c63043
2005-07-29 19:43:58 +00:00
drh 2ce99ecf8b Fix authentication so that it works with AS aliases. Ticket #1338. (CVS 2570)
FossilOrigin-Name: cc7ae73ed01f0b89e31dd8de48b913bbd83887b8
2005-07-29 15:36:14 +00:00
drh 6c30be8e51 Optimizer now converts OR-connected WHERE-clause terms into an IN operator so
that they can be used with indices.  There are known problems with the
ORDER BY optimization in this and in several prior check-ins.  This
check-in is not recommended for production use. (CVS 2569)

FossilOrigin-Name: d23c8bf81e508722e92ff1b9c8bc98dc026a31f2
2005-07-29 15:10:17 +00:00
drh ed37800693 The BETWEEN operator in a WHERE clause is now able to use indices. (CVS 2568)
FossilOrigin-Name: cdf8c9584b945212e065e044df801c207aedb675
2005-07-28 23:12:08 +00:00
drh a611040eea Test cases and tuning of the new optimizer code. (CVS 2567)
FossilOrigin-Name: 4b02703dec71aa78e5f8d8cab5b950966a4c6abc
2005-07-28 20:51:19 +00:00
drh 3adc9cedb0 The new optimizer now passes all regression tests. (CVS 2566)
FossilOrigin-Name: a21212843359fb9fdbd60799ae50ad3566f4399a
2005-07-28 16:51:51 +00:00
drh 17a18f2f36 Store the total number of rows as part of the ANALYZE statistics. (CVS 2563)
FossilOrigin-Name: 868279c78e056d27b2d1bea81127fe689b2ce478
2005-07-23 14:52:12 +00:00
drh e6e049694d Full-coverage testing and documentation for the ANALYZE command. The
results of analysis are still not loaded or used, however. (CVS 2561)

FossilOrigin-Name: bd7583a5d63412785a9c5de54d25b509da241605
2005-07-23 02:17:03 +00:00
drh 7ec764a29e Add comments to test cases. Improvements to the query plan test variable. (CVS 2555)
FossilOrigin-Name: ef3a157f469d72cbd2f713f997598ddf47f340d2
2005-07-21 03:48:20 +00:00
drh fe05af87f8 In where.c, split out the code that selects an index into a separate
subroutine. (CVS 2554)

FossilOrigin-Name: c30cbba9ead1b4d07f225b1e8a65d5d5230ea45d
2005-07-21 03:14:59 +00:00
drh 0aa74edd72 Allow an unlimited number of terms in the WHERE clause. The old limit was 100. (CVS 2550)
FossilOrigin-Name: ca69f36832d57775e73ac5cdbe0a32d7b759432b
2005-07-16 13:33:20 +00:00
drh 9042f395cc Fix bugs in the new query plan instrumention logic. (CVS 2549)
FossilOrigin-Name: 578490c91331a386f84652db0b3bfd74c82046e1
2005-07-15 23:24:23 +00:00
drh a4afb65cb7 Make sure there is only one busy counter. Ticket #1315. (CVS 2543)
FossilOrigin-Name: af2a0ba4a38abf208db1ff6f018cf756de2afd5b
2005-07-09 02:16:02 +00:00