Commit Graph

7675 Commits

Author SHA1 Message Date
drh fd35797469 Infrastructure for the DISTINCT keyword in aggregate functions. But it does
not work yet.  If you try to use it you get an error message. (CVS 2680)

FossilOrigin-Name: 4d62e36fe3819c2a1412737c2ec8a91ddc5e1777
2005-09-09 01:33:19 +00:00
drh b4746b9e33 Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679)
FossilOrigin-Name: 461e3a0a27ff083b0bae10c9880e3b41bb85ee31
2005-09-09 01:32:06 +00:00
drh c2bd913a40 SUM returns NULL when it has no inputs. Ticket #1413. (CVS 2678)
FossilOrigin-Name: 6281859425d39c11d82875301fefafad1f08416d
2005-09-08 20:37:43 +00:00
drh 3f219f46fc A SUM() of all NULLs returns NULL. A SUM() of nothing return 0.
A SUM() of a mixture of NULLs and numbers returns the sum of the
numbers.  Ticket #1413. (CVS 2677)

FossilOrigin-Name: 2e6230edfd651b40481ebad8aa01a22ac92ce80c
2005-09-08 19:45:57 +00:00
drh 825c662e66 Remove a C++ism that snuck in on one of the reason changes. (CVS 2676)
FossilOrigin-Name: 48f6a331efea419fe948cd366f9c60ae41edddfd
2005-09-08 19:01:05 +00:00
drh 4f26bb62a8 Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675)
FossilOrigin-Name: cdfe372a958fb446485913e860d52b87fffd34e4
2005-09-08 14:17:20 +00:00
drh 97571957a1 Aggregates with GROUP BY can sometimes return no result rows. (CVS 2674)
FossilOrigin-Name: 0c3e368d4766685b94a44f2c514e2dea806c297c
2005-09-08 12:57:28 +00:00
drh eb796a7c8f While doing a transaction comment, use fdatasync() instead of fsync() in
cases there the file size is unchanged. (CVS 2673)

FossilOrigin-Name: 3c555a87493128620ac967faf7c63c2a58856e9e
2005-09-08 12:38:41 +00:00
drh 3224b32b00 Fix a comment in sqlite.h. Ticket #1321. (CVS 2670)
FossilOrigin-Name: ed4e9e751be2b982af9561aba20c8e1367828b81
2005-09-08 10:58:51 +00:00
drh 3d1d95e625 The SUM() aggregate function returns an integer result if all inputs are
integers.  Any single non-integer input causes the result to be a floating
point value. (CVS 2669)

FossilOrigin-Name: 21adf4bd99e732650a1e8e9a1cc954126983a654
2005-09-08 10:37:01 +00:00
drh d49c16ee9b Changes to comments only in sqliteInt.h. No changes to code. (CVS 2668)
FossilOrigin-Name: cc2a61650ea0d4b2ef67e144424327362999526d
2005-09-08 02:00:25 +00:00
drh 9d2985c7b4 Optimizations and refinements. Improvements to test coverage. (CVS 2667)
FossilOrigin-Name: 7283f7c29db4f622380b6a5cb745a4dc0c8e6a25
2005-09-08 01:58:42 +00:00
drh 5360ad34b1 All regression tests now pass. But I am sure there must still be problems.
New tests need to be added. (CVS 2666)

FossilOrigin-Name: bcc7d722cea4487a3adf9d9b2af4b74bfbfc5f39
2005-09-08 00:13:27 +00:00
drh d1c301e804 More bug fixes. All of the "quick" tests pass. The full test suite still
shows problems. (CVS 2665)

FossilOrigin-Name: a1b6d910cdbb53f12366402d9585dce2aad3ba3d
2005-09-07 23:05:21 +00:00
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 a10a34b88f Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663)
FossilOrigin-Name: c3ac58592f5e6305640868cdf42c129f1a25255d
2005-09-07 22:09:48 +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 abfcea25ea Cleanup the processing of MEM_Agg elements. (CVS 2660)
FossilOrigin-Name: 7ecf3654aa9a275a4cf0c3ec5f63a8c1e0a11fc9
2005-09-06 20:36:48 +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 d81bd4e209 Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657)
FossilOrigin-Name: 7b56763a8b514834198d2392639d6d726b17d901
2005-09-05 20:06:49 +00:00
drh c092998715 Use the unicode API to win32 where available.
Tickets #1407, #1396, #1331, #1243, #1206 (CVS 2656)

FossilOrigin-Name: 3ec58c673ae4cf0695ea0c287cc9bcbdcdb1a200
2005-09-05 19:08:29 +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 dece1a8464 {quote: KeyInfo} generation moved to a common subroutine. (CVS 2652)
FossilOrigin-Name: a25801df06e218e70570a6b9eae71603d590fe3a
2005-08-31 18:20:00 +00:00
drh 37108e112a Explicit typecasts to silence nuisance compiler warnings. Ticket #1398. (CVS 2650)
FossilOrigin-Name: 90712ea7273597214d6c77a01e41f84146d201c8
2005-08-31 13:13:31 +00:00
drh 0a8640d4f2 The CSV output mode does not sign-extend bytes where the high-order bit is set.
Ticket #1397. (CVS 2644)

FossilOrigin-Name: 528df777e5d76077d8766f04ee222fd64d9373a6
2005-08-30 20:12:02 +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 5d9a4af9af Minor code enhancements. (CVS 2642)
FossilOrigin-Name: 4ab994a87ee844f453d693555abd61b51bb44a0e
2005-08-30 00:54:01 +00:00
drh 01b4171e57 Make the shell aware of SQLITE_OMIT_MEMORYDB. Ticket #1395. (CVS 2640)
FossilOrigin-Name: 71a71cef5b3c97744322ceceb48ac3055512c987
2005-08-29 23:06:23 +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 b46b57745d Initialize a local variable to avoid a nuisance compiler warning.
Ticket #1394. (CVS 2638)

FossilOrigin-Name: 9b914901a18f8ea39c39a51509c0b3b862c13d6a
2005-08-29 16:40:52 +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 bfd6b03554 Improvements to the formatting and layout of the code in the previous checkin. (CVS 2636)
FossilOrigin-Name: 73b430de0c0f3cd230861fc1a53691818f17de0d
2005-08-28 01:38:44 +00:00
drh de941c605e Add an assert to verify that floating point values and integers use the
same byte order.  Add a comment to the SELECT code generator. (CVS 2635)

FossilOrigin-Name: 07b4892149a436dbd904c781b46e3b9a82a7a744
2005-08-28 01:34:21 +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 9cc5abd769 Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629)
FossilOrigin-Name: 51a381345db45967567dd0a18905d352bf1081e0
2005-08-27 13:16:32 +00:00
drh 6e4b7cd4ef Do not change fields of stale sqlite3 handles. Ticket #1384. (CVS 2626)
FossilOrigin-Name: 7e05b7ca0ce72b1c6125196f4b21bbb676bc488c
2005-08-27 01:51:44 +00:00
drh e69cc5b742 Widen the opcode column of explain output in the shell. (CVS 2625)
FossilOrigin-Name: dd3b00aa0bf3b847b0b2f20f6df60d4e3a2d81df
2005-08-27 01:50:53 +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 0f77f5dc0b Additional defense against the rowid-fifo overflow problem. (CVS 2622)
FossilOrigin-Name: 881dcf5fb16997830ff347d2eb2610784b415f25
2005-08-24 17:07:37 +00:00
drh 978468d488 Remove a stray C++ style comment causing problems for some compilers. (CVS 2621)
FossilOrigin-Name: aa7dd3f2c72335fe7778c021e4b6bbbc4ec322df
2005-08-24 16:54:05 +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 ad81e87054 Clean up possible locking problem in multithreaded applications that take
a malloc failure. (CVS 2611)

FossilOrigin-Name: 545e702a23c7a6b09e10441d4137efe5a9618a84
2005-08-21 21:45:01 +00:00
drh 130b9f4040 Do not create an error message if there is no error. (CVS 2607)
FossilOrigin-Name: 3aa47c5587819a5fc3e2cb53a7fbc79ba65f0c3b
2005-08-21 17:48:46 +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