drh
9e9374b2e2
Avoid an excess register allocation in UPDATE, when possible. This improves
...
speed (slightly) and reduces the code footprint.
FossilOrigin-Name: 8658574e3f435f03a87c04f398bd05078ebc53ecb4a477d3b24902d701d935c4
2019-05-08 19:06:59 +00:00
dan
42e84ae1ab
Add tests to improve code coverage of the RBU module.
...
FossilOrigin-Name: ecb56b75a0e66462acdcce285b93f9fc56944c42902d886d6bada419059519a9
2019-05-08 18:49:51 +00:00
drh
08652b5ea0
Provide the SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA compile-time option to
...
omit the case_sensitive_like pragma. This change, in combination with
documentation changes, is the current solution to ticket
[a340eef47b0cad5].
FossilOrigin-Name: eabe7f2d4ff0e0dd868dcab7ec1d4a9168a25f80d3a52f0eeea2f90bd33782f2
2019-05-08 17:27:18 +00:00
dan
a7be6f355c
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values.
...
FossilOrigin-Name: 658b84d7f4a0886591c5aab30ed9e31c4a0f56db303eb863f24833ca37085d14
2019-05-08 11:52:13 +00:00
dan
9edd8c11ab
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values.
...
FossilOrigin-Name: a870c196d78d8b72c7353fa0015e96b2abd4be154541d76328e3a4f9e5da5d04
2019-05-08 11:42:49 +00:00
drh
291508f62b
Remove an ALWAYS() that was previously added by check-in [a0819086] but
...
which turns out can sometimes be false.
FossilOrigin-Name: ad8fc5d8b440c49df95328df0408be699dde5a1dbd195b3f1f32e5f765578032
2019-05-08 04:33:17 +00:00
drh
d2cfbea2a4
Remove a NEVER() that was added in the previous check-in because it is in fact
...
reachable.
FossilOrigin-Name: 74eba2558a81f9e790d95a12a0c5379d4f80b43c8698ef9d6a31ff8d160a53d8
2019-05-08 03:34:53 +00:00
drh
dfcecdfea8
Earlier detections of errors in the byte-offset-to-cell-content integer at
...
offset 5 in the header of a btree page.
FossilOrigin-Name: a0819086a521fb0ca4ffd12f959b168a89ea2e30a2844bbbd39831b2b9ecf29b
2019-05-08 00:17:45 +00:00
drh
2c45b67711
Generate all records for INSERT or UPDATE prior to running foreign key
...
constraint checks, since the FK checks might modify the datatype of registers
used to generate the records. Fix for ticket [e63cbcfd3378afe6980d6].
FossilOrigin-Name: 3c75605b4652ae88659465d832953ac9d467369f9cb417f73b3d8599ec60b18b
2019-05-07 20:06:41 +00:00
dan
f116ad8527
Do not commit an "OR FAIL" statement that causes foriegn key constraint violations.
...
FossilOrigin-Name: 659c551dcc374a0d349ba9419f692e3363839e11d791a17cc35fa1854a674a51
2019-05-07 19:44:11 +00:00
dan
244edd01d3
Add test cases for the fix on this branch.
...
FossilOrigin-Name: 2e31abe0ae5937a8ce10179e0ae045ee4c5ed8b7e2622ab41243226c6d3f5425
2019-05-07 19:21:58 +00:00
drh
a7c3b93fa6
On an INSERT or UPDATE, generate the new table record prior to running
...
foreign key checks, in case the foreign key checks changes datatypes on
the registers holding column values. Proposed fix for ticket
[e63cbcfd3378afe6980d626].
FossilOrigin-Name: 3f1c8051648a341db4dffad66d3b1f9980d8a2b314cb0ce879cb2a10d1779b84
2019-05-07 19:13:42 +00:00
drh
dd2d9a3d5a
Strive to prevent harmless compiler warnings in GCC 4.8.5.
...
FossilOrigin-Name: 8b6691f619ed9a56f6aecbd878ebb447c40984f8767508b248494fd9ec68fbaa
2019-05-07 17:47:43 +00:00
dan
f4f86f3fca
Optimize the restarting of an RBU vacuum.
...
FossilOrigin-Name: 82062351a62f4ccc438a2b47a22ee581bd030dec952fecd610f360a25002a5ea
2019-05-07 16:37:37 +00:00
dan
126537e1dc
Remove some redundant code from sqlite3rbu.c. Add test cases for RBU vacuum.
...
FossilOrigin-Name: 7b051698d8a763d9db190fd662931266d24a4982f34f100a28641934c222e37b
2019-05-07 16:28:50 +00:00
dan
57c4514720
Optimize further cases of restarting an RBU vacuum.
...
FossilOrigin-Name: 6b3261bfa1d762aa29a57244a30cf5e35655f1fe9c30ee682c186dec29d7a2c2
2019-05-06 20:40:23 +00:00
dan
f9b0c45161
Fix a problem with renaming an INTEGER PRIMARY KEY column of a WITHOUT ROWID table using ALTER TABLE.
...
FossilOrigin-Name: 91f701d39852ef1ddb29d1527d1520867c5efea110333315c55d8b08084384e7
2019-05-06 16:15:28 +00:00
dan
c245855702
Optimize some cases of restarting an RBU vacuum.
...
FossilOrigin-Name: cdc09867ed6522026ae7bfac1f59cd79b60fba6d07d49b99b030a501a7059ee4
2019-05-04 20:04:42 +00:00
drh
664d6d139e
Fix the NOT NULL logic in the theorem prover that determines when a partial
...
index can be used. Ticket [5c6955204c392ae763a95].
FossilOrigin-Name: c2e439bccc40825e211bfa9a88e6a251ff066ca7453d4e7cb5eab56ce7332635
2019-05-04 17:32:07 +00:00
mistachkin
bc8b231098
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 5862b83eb36b93016d37e5b86ebb183d891bb553901facab1e5d83e114a38ec3
2019-05-04 03:56:47 +00:00
drh
b1d93be142
In the sqlite3_value or Mem object, make the MEM_IntReal type completely
...
independent from MEM_Int and MEM_Real. This helps avoid problems when
inserting non-float values into a "REAL" column.
FossilOrigin-Name: 5a8a23ee5f60a31dbd167a0966d1ab3d0f1c07df2251906cb73f23d1f5466b46
2019-05-04 01:41:18 +00:00
drh
3242c69c91
New testcase macros to ensure that MEM_IntReal is fully tested.
...
FossilOrigin-Name: 8b8ef445ccccc148af2cda5975986af0d134352fe16283f65d0f8a91c9ffa932
2019-05-04 01:29:13 +00:00
drh
0c8f40389e
Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create
...
the intreal() SQL function in testfixture. Write a few simple tests to
prove this all works. TH3 will hold most of the INTREAL tests, probably.
FossilOrigin-Name: c9838731325e0ca73bd8784c10c74ae043fed7861e6de269fd90e29fa4a19955
2019-05-03 21:17:28 +00:00
drh
30d3b0ceb5
Ensure that UTF16 strings are properly zero-terminated before returning them
...
in an sqlite3_value_text16() request, even if the string is invalid UTF16
because it was formed from an arbitrary and/or odd-length BLOB.
FossilOrigin-Name: 3a16ddf91f0c9c516a7fc2a9d4a4f69a8326f9b8ea66421e9ef1a2d663687b70
2019-05-03 19:34:41 +00:00
dan
a51297200f
Fix a memory-leak/segfault caused by using OP_OpenDup and OP_OpenEphemeral on the same VM cursor.
...
FossilOrigin-Name: a9b90aa12eecdd9f2a8b2d23da8b7cac43d8b1789f5cefa3f4e939d9f2b59269
2019-05-03 18:50:24 +00:00
dan
ac4085bc2c
Fix a problem where self-joins on views that are aggregate queries may return the wrong result.
...
FossilOrigin-Name: 74ef97bf51dd531a277cf22fa4d42043d93799d5a5bd550812648834460fe0b7
2019-05-03 17:19:10 +00:00
drh
f2566c4132
Improved comments on the elements of the array constant used to implement
...
the sqlite3_value_type() interface.
FossilOrigin-Name: f73a7de7a53f6aa6517221550a9c9882893206edfd7433e80e5fc0f441db9fc4
2019-05-03 17:08:16 +00:00
drh
5bf4644f41
Fix the ".open --hexdb" command in the CLI so that it works even with
...
terminal input.
FossilOrigin-Name: 9b5d943426c9273162ecb4c561eb3b25e843318dd438239c882c9db50f788454
2019-05-03 02:41:36 +00:00
drh
169f077e07
Make MEM_IntReal a completely independent type, meaning a floating point
...
value stored as an integer. This fixes a problem with arithmetic within
arguments to string functions on indexes of expressions. But it is a big
change and needs lots of new testcase() macros for MC/DC and so it is
initially put on this branch.
FossilOrigin-Name: dba836e31cb29d339b4520acb06188a892a52e45c50aba9742966b01108e251a
2019-05-02 21:36:26 +00:00
drh
de7109e61b
Ensure that the typeof() function always returns SQLITE_FLOAT for floating
...
point values even when the value is stored as an integer to save space.
FossilOrigin-Name: 48889530a9de22fee536edfd1627be62396ed18d842d5fd6d91e010b4337be95
2019-05-02 17:45:52 +00:00
dan
ee253f7881
Add options to wapptest.tcl similar to those supported by releasetest.tcl. Also add the -noui switch, for running without wapp altogether.
...
FossilOrigin-Name: 005a169406ccea6e3cc42271620870d985e8bada1ad49a63656003db4911cb51
2019-05-02 17:06:01 +00:00
drh
e12ca5abf6
Earlier detection of a database corruption case in balance_nonroot(), to
...
prevent a possible use of an uninitialized variable.
FossilOrigin-Name: c509d8a8aebe0da4847e95cf737c21313a665de9a540da2db57b8ed22f98a402
2019-05-02 15:56:39 +00:00
drh
cf1747b782
The collating sequence of the column must be TEXT if the LIKE or GLOB pattern
...
starts with a "+" sign. This is another case of ticket
[c94369cae9b561b1f996d005] that was discovered by Manuel Rigger.
FossilOrigin-Name: b043a54c3de54b286c4eae564eab6b99118a410d99bdb63480faba3123d2ca11
2019-05-02 01:41:53 +00:00
drh
01325a3f75
Fix an issue (discovered by OSSFuzz) in the enhanced OP_Concat operator
...
from check-in [713caa382cf7dd] earlier today.
FossilOrigin-Name: 3e897702f8f789fe5119b9042fb93eca3fbfcc44564fbfa66c65628725b1157d
2019-05-02 00:52:50 +00:00
drh
7d0a3fd340
Add a test case for ticket [ae0f637bddc5290b44669e066a].
...
FossilOrigin-Name: ece481695fc3c959c3eba0fb485cdda43a10b06d17259b0121e15bfc5e8e8b9f
2019-05-01 19:01:27 +00:00
drh
83a1dafb03
When values have real affinity and are converted into strings for CHECK
...
constraints or index expressions, do the conversions into a real-number format
even if the values are stored as integers for efficiency.
This appears to fix ticket [ae0f637bddc5290b446].
FossilOrigin-Name: 5997d075665faca6b70fa647e877ebc84c473b32887b96235865d59ce80247f8
2019-05-01 18:59:33 +00:00
dan
f78408c775
Fix an incompatibility with -DSQLITE_OMIT_LOAD_EXTENSION=1 in dbdata.test.
...
FossilOrigin-Name: a77cd85b1a8b86e71b511f05f8c67faa046d24a48684139d2f64e51249203411
2019-05-01 17:36:56 +00:00
dan
0de0ab8207
Fix a case in wapptest.tcl where a failed test might report 0 errors.
...
FossilOrigin-Name: 2be1ed70df605663822d1afdde757f426ccf2ee38add8dc6b6bb4fc4d90a31dc
2019-05-01 17:32:36 +00:00
drh
8a7e11fb78
Avoid unwelcomed side effects on the input operands in the OP_Concat
...
operator. Fix for ticket [3be1295b264be2fac49b681]
FossilOrigin-Name: 713caa382cf7ddef872e510a76a5fca40be1a8d8876ce2f91b632bb0810a6630
2019-05-01 15:32:40 +00:00
dan
c97001fd55
Update wapptest.tcl so that it deletes extra files if the "Keep files:" checkbox is clear. Set it by default.
...
FossilOrigin-Name: 09623cc4cc82e3c123d1fd5d88b2f4b50ec5f2cc7e579a7203258bf0c246a74f
2019-05-01 15:25:38 +00:00
drh
6fcc1ecc99
In "PRAGMA vdbe_trace" output, show the results of OP_Affinity opcodes.
...
FossilOrigin-Name: 56604bb60a8ebac8d2854628d1b052d594d7effe14be8333977995dc07b65114
2019-05-01 14:41:47 +00:00
dan
a3e086d803
Fix an incompatibility with auto-vacuum mode in new test script recover.test.
...
FossilOrigin-Name: 36dd5b0804797a35d0dc596b6ca4f71813a155c5a470237ab6e3d1bcd9ccc6be
2019-05-01 08:48:44 +00:00
dan
919458923d
Update wapptest.tcl to use a simpler slave script. And to leave scripts wapptest_configure.sh and wapptest_make.sh in each test directory.
...
FossilOrigin-Name: 07e527d781838412b2a434e64baaa49cbf7410a51c7393f54adc7b8eaffd5229
2019-04-30 20:43:10 +00:00
dan
c589acbc50
Fix a problem allowing a Table object to be deleted from within a call to the xDestroy method of the associated virtual table, causing a use-after-free error.
...
FossilOrigin-Name: 1dbbb0101e8213b92b9a4c78c0fd2f9d0240a8ea3b40dff1033d1b8d71fb04ef
2019-04-30 15:36:32 +00:00
drh
f135cb7d7f
Fix an error message in the Lemon parser generator.
...
FossilOrigin-Name: b6d7d42b7426622a26b67809cd1f21285fea120aa1897377b9946840463b41f1
2019-04-30 14:26:31 +00:00
drh
cf83323936
Small performance increase and size reduction in the implementation of the
...
LIKE and GLOB operators.
FossilOrigin-Name: f97626f921dafe596b615a168ef31987f4a1c0b52956443e1a5c1148b49cab74
2019-04-30 11:54:36 +00:00
drh
b70b0df8eb
Slightly smaller and faster implementation of the OP_MakeRecord opcode.
...
FossilOrigin-Name: 3bdce7ef1a6bb03affe978243fec603d5a55c071aa6d87c469a3c199d23f3b5e
2019-04-30 01:08:42 +00:00
drh
3af1b60e3a
Changes to oserror.test so that it works even on systems that allow
...
an unusually large number of file descriptors.
FossilOrigin-Name: a27b0b880d76c6838c0365f66bcd69b1b49b7594470993b608f4e490cbdc4882
2019-04-29 16:44:11 +00:00
drh
4baa75b32f
Do not de-duplicate columns index columns associated with a WITHOUT ROWID table
...
if the columns have different collating sequences. This is the fix for
ticket [3182d3879020ef3b2]. There is one test case added, but most of the
tests are done in TH3.
FossilOrigin-Name: 1b1dd4d48cd79a585e1fa7ee79128e9f2a9ee9846339dc56bbd67b75112dcad5
2019-04-29 13:48:45 +00:00
drh
c19b63c9a3
Improved header comment and precondition checking for the new isDupColumn()
...
function.
FossilOrigin-Name: 740d5ff6cc9bf7b151dfb8b27409e5923cfb2789b5398fe13d89563aff8ffc07
2019-04-29 13:30:16 +00:00