2976 Commits

Author SHA1 Message Date
danielk1977
b4fc679463 Fix a null-pointer dereference that follows a malloc() failure introduced in (3954). (CVS 3956)
FossilOrigin-Name: 251ba1981e32fb80818965ffe1ef455069e88abd
2007-05-08 18:04:46 +00:00
danielk1977
7a15a4beef Add a few more tests to sqllimit1.test. (CVS 3954)
FossilOrigin-Name: eeee6b71e5643511320cbe15bafa170cfd02877f
2007-05-08 17:54:43 +00:00
drh
2e6400ba9e Do not allocate so much surplus memory in the implementation of the
replace() function. (CVS 3951)

FossilOrigin-Name: 0cf518ceebda8e7421d054813f97cc447d292344
2007-05-08 15:46:18 +00:00
drh
beb818d1fd Limit the length of the patterns on LIKE and GLOB to avoid problems with
deep recursion and N^2 behavior. (CVS 3950)

FossilOrigin-Name: 42e6c826998e69462462b0787d3650246d36f3b5
2007-05-08 15:34:47 +00:00
drh
a0206bc81c Introduce the (experimental) sqlite3_result_error_toobig() API that
function implementations can use to signal SQLite that the function
result is too big to represent. (CVS 3949)

FossilOrigin-Name: 17c4235c492f746867c1d2b8621043b93f8aa10e
2007-05-08 15:15:02 +00:00
drh
f8e632b630 Add the max_page_count pragma used to limit the maximum size of a database
file.  Untested. (CVS 3948)

FossilOrigin-Name: b1b74f06688fd90fcaf54cf95e2e7beeb5fc1040
2007-05-08 14:51:36 +00:00
danielk1977
17374e8f94 Fix a potential buffer overrun in the replace() function. (CVS 3947)
FossilOrigin-Name: b0fb4a3cf6ddbc17ccd0c719b34a720d9090bc93
2007-05-08 14:39:04 +00:00
drh
e5c941b83b Add more code to enforce the limits specified in limits.h. (CVS 3946)
FossilOrigin-Name: c59d436095b5258d7132a432c0cb6cd5a7990d85
2007-05-08 13:58:26 +00:00
danielk1977
4b5710e486 Avoid evaluating (INT_MIN/-1) with 32 bit signed numbers. It can cause SIGFPE. (CVS 3945)
FossilOrigin-Name: 2f186e916c982cde557e0bc1b925b10e6d58f8a1
2007-05-08 13:57:34 +00:00
danielk1977
dce872b94e Do not crash in the internal functions sqlite_rename_table() or sqlite_rename_trigger() if they are somehow passed unexpected input. (CVS 3944)
FossilOrigin-Name: c2f90b465e37ea49c9e44415f6461e4f636bb64f
2007-05-08 12:37:45 +00:00
drh
023ae03a72 Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943)
FossilOrigin-Name: 031a5915b68ec6827fee38b8b9dc74a9e0e09302
2007-05-08 12:12:16 +00:00
drh
7a7364cee8 Fix a bug in the test logic introduced by check-in (3928). (CVS 3942)
FossilOrigin-Name: 47d1678d2d795196e51b7f0f185198f2b338636b
2007-05-08 11:27:15 +00:00
drh
c797d4dccd Begin implementing a new system of upper bounds on the capabilities
of SQLite.  By clearly defining the upper bounds, we make those
upper bounds explicitly testable.  This check-in is just infrastructure.
The upper bounds are not yet enforced. (CVS 3941)

FossilOrigin-Name: 93b623b232a43f78d2c90bfa2389dd5b28ad7280
2007-05-08 01:08:49 +00:00
drh
02d858364b Fix an NULL deref in the randomblob() function following a malloc failure. (CVS 3940)
FossilOrigin-Name: 011e7db253f9a60c19977215eab1687930f15637
2007-05-07 19:31:15 +00:00
danielk1977
a393c03686 Change the name of create_collation_x() to create_collation_v2(). Also add some tests for it. (CVS 3938)
FossilOrigin-Name: ddc4e4797ff902692c4f0d86ec5f4e94cc7f0741
2007-05-07 14:58:53 +00:00
drh
6885390791 Change sqlite3_snprintf() so that it does not write a zero-terminator if
the buffer size argument is less than 1.  Ticket #2341.  Added documentation
about the sqlite3_snprintf() function. (CVS 3935)

FossilOrigin-Name: f3ae4ac5fe0bfa2f91e76a6def86c444e51fe80b
2007-05-07 11:24:30 +00:00
danielk1977
a9808b31a8 Add the experimental create_collation_x() api. (CVS 3934)
FossilOrigin-Name: ff49d48f2f025898a0f4ace1fc227e1d367ea89f
2007-05-07 09:32:45 +00:00
drh
ad91c6cd40 Do not flatten subqueries that are part of a compound SELECT and which
have both an ORDER BY and a LIMIT clause.  Ticket #2339. (CVS 3932)

FossilOrigin-Name: 9600a998043c6dd1d5ecb03d1ee9a9273910243d
2007-05-06 20:04:24 +00:00
danielk1977
83852acc44 Add the start of the ICU extension. (CVS 3931)
FossilOrigin-Name: f473e8526770b6a332dfde3e1fd1ddf8df493e9a
2007-05-06 16:04:11 +00:00
drh
db6f6a7737 Fix a header problem introduced in the previous check-in. (CVS 3929)
FossilOrigin-Name: bece7a6bae3a52da03c25b577e15a648eb91805a
2007-05-05 18:49:53 +00:00
drh
16a9b8363d Factor out btree test logic into a separate test_btree.c file. (CVS 3928)
FossilOrigin-Name: d51274f1cc3a75f6a03e90259ce829ac1dacf78f
2007-05-05 18:39:25 +00:00
drh
59df4cda00 Fix a sprintf() problem introduced by (3916). (CVS 3927)
FossilOrigin-Name: 54a1d275aa0154a88d433a3c4df538d52c2c3ecb
2007-05-05 12:06:24 +00:00
drh
a315289571 Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from
util.c.  Expect much more to follow. (CVS 3925)

FossilOrigin-Name: 16041116aaaa2d52a289aa02a24bef579ba60896
2007-05-05 11:48:52 +00:00
danielk1977
32a0d8bb8c Fix compilation and testing with OMIT_INCRBLOB defined. (CVS 3923)
FossilOrigin-Name: a0f8adc692839d0645daf0630533a87b0543f6e8
2007-05-04 19:03:02 +00:00
danielk1977
dcbb5d3f47 Test interaction of incremental io and other database writes. (CVS 3922)
FossilOrigin-Name: 4516416b4d38679ea7d259155f241e54c4c58d7d
2007-05-04 18:36:44 +00:00
drh
ca5557f91d Change incremental vacuum to be triggered by a pragma rather than a command.
We have a lot to learn about this yet and we do not want to paint ourselves
into a corner by commiting to specific syntax too early. (CVS 3921)

FossilOrigin-Name: b13e497a326697ab42b429993a1eee7df3c0c3eb
2007-05-04 18:30:40 +00:00
drh
9c61cd77a5 Optional parameter in the INCREMENTAL VACUUM statement specifies how many
pages to vacuum from the database. (CVS 3919)

FossilOrigin-Name: ed713f9ccb5d0f306a79ab9931e43db2327fb435
2007-05-04 16:14:38 +00:00
drh
4f5c74e6ec Make "incremental" a fallback token so that you can set
"auto_vacuum=incremental"
without having to quote the "incremental". (CVS 3917)

FossilOrigin-Name: 9d7a2e2bb41e7baed2cdcf199cb04d7aef19c010
2007-05-04 14:14:45 +00:00
drh
5bb3eb9b9a Eliminate all uses of sprintf() and strcpy(). These were not being
misused.  But getting rid of them removes a library dependency.  And
it avoids warnings from the OpenBSD compiler.  Ticket #2336. (CVS 3916)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
danielk1977
92d4d7a92e Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915)
FossilOrigin-Name: 641e55284e1ba6070073c83ac6ed78ffb29f7e60
2007-05-04 12:05:56 +00:00
drh
126afe6b59 Fix a formatting errror in I/O logging. (CVS 3914)
FossilOrigin-Name: 2d37687a08a7b6b3a7f77f55a7c2e29a1f8731a8
2007-05-04 12:01:02 +00:00
drh
110daac9a1 Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses
mixed-endian doubles.  This is needed on ARM7 to make database file
formats compatible with all other processors.  Tickets #2278 and #2335. (CVS 3913)

FossilOrigin-Name: 2a178d0c7950c9d403c0bc43c2043de945fb24e0
2007-05-04 11:59:31 +00:00
danielk1977
da10719890 Rework accessPayload() function for clarity. (CVS 3912)
FossilOrigin-Name: 42d07c70ec1eb6dd9619c97d753c9d2824aeae32
2007-05-04 08:32:13 +00:00
danielk1977
f1819244aa Test some more incremental IO error cases. (CVS 3910)
FossilOrigin-Name: 64705410bdf43b6283f7a7e59ce8c20d09cd46e4
2007-05-03 18:14:10 +00:00
drh
ae5e445b34 Improvements to I/O tracing output. Require -DSQLITE_ENABLE_IOTRACE when
compiling shell.c in order to link in the I/O tracing capability. (CVS 3909)

FossilOrigin-Name: 8a43e1676fdd29903e0b3f9d3b05d217d42962b8
2007-05-03 17:18:36 +00:00
danielk1977
8cbadb0211 Test cases and minor bugfixes for incremental blob APIs. (CVS 3907)
FossilOrigin-Name: e12c522383bd40af375a52d2e68612c4dc7fd4db
2007-05-03 16:31:26 +00:00
danielk1977
44e6c8d3cf Fix a bug where accessPayload() was calling PagerWrite() on the wrong page handle. Ticket #2332. (CVS 3906)
FossilOrigin-Name: cf9eeba7be64ad29cddd320832db10c799fb6e8e
2007-05-03 13:11:32 +00:00
drh
f68d7d17a1 Use memmove() instead of memcpy() when moving between memory regions that
might overlap.  Ticket #2334. (CVS 3905)

FossilOrigin-Name: 678d672b73cc7b7f563c15daee3831cb5bbd890e
2007-05-03 13:02:26 +00:00
danielk1977
20713f34a5 Minor bugfixes for incrblob mode. (CVS 3903)
FossilOrigin-Name: db54a9466e3bea9c03740ce0b755cfa02bafaccd
2007-05-03 11:43:33 +00:00
drh
b7af4452d9 Allow CREATE TABLE to occur while other queries are running. DROP TABLE is
still prohibited, however, since we do not want to delete a table out
from under an running query. (CVS 3902)

FossilOrigin-Name: 5b4bf1fce4d589337cfb1b46d75c751bbdc607d5
2007-05-02 17:54:55 +00:00
danielk1977
9f8d64009e Combine the internal btree functions BtreePutData() and getPayload(). (CVS 3901)
FossilOrigin-Name: a100a5304b0e7cbbdb6dac71a39c78eb71d44a03
2007-05-02 17:48:45 +00:00
drh
ae7e151a24 More fixes and improvements to the zeroblob() mechanism. (CVS 3900)
FossilOrigin-Name: 83ab25014e890b1cc6ea08ca1ebeeee0078da466
2007-05-02 16:51:59 +00:00
danielk1977
2dec97077b Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899)
FossilOrigin-Name: 349f1ea7895f06c40affc985a13aa6686dfdea07
2007-05-02 16:48:37 +00:00
drh
fdf972a9ba Add support for zero-blobs to the OP_MakeRecord opcode.
First test cases of zeroblob functionality. (CVS 3897)

FossilOrigin-Name: e6d560ddeeb48fb0cbd9f5a10612280b055baef7
2007-05-02 13:30:27 +00:00
danielk1977
d04417963f Use the pointer-map pages to make the incremental blob API more efficient. (CVS 3896)
FossilOrigin-Name: 93a3bf71d576096f4b5a3db256ca6f9b5521d137
2007-05-02 13:16:30 +00:00
drh
8cff382e7d Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895)
FossilOrigin-Name: 6f4f8ba7ec15f214f36fa78e593dd4522ab717f5
2007-05-02 02:08:28 +00:00
drh
b026e05eb2 Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894)
FossilOrigin-Name: 7a01836dde45098796693bc6cb6045c4059adf1a
2007-05-02 01:34:31 +00:00
danielk1977
b4e9af9ff9 First approximation of incremental blob IO API. (CVS 3892)
FossilOrigin-Name: c444836e7b690c16dd6acff571c613a23beb42dc
2007-05-01 17:49:49 +00:00
drh
c80f058db3 The pager takes the sector size to be the larger of the sector size
reported by sqlite3OsSectorSize() and the page size. (CVS 3890)

FossilOrigin-Name: e5e6af55ccc5c1a8a9206b42f1dd7bf547cb97ca
2007-05-01 16:59:48 +00:00
drh
276fdbfd61 Fix a potential segfault following a malloc() failure during a call
to sqlite3_prepare() where the nBytes parameter is positive but less than
the length of the input SQL string. (CVS 3888)

FossilOrigin-Name: 27bf3fc3cf3c9c7acdbf9281a4669c9f642b0097
2007-04-30 21:39:16 +00:00