drh
13f40da31d
Split the sqlite3Error() routine into sqlite3Error() and
...
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.
FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04
2014-08-22 18:00:11 +00:00
drh
73d5b8f550
Move elements of the Vdbe object that are only used during statement
...
preparation out into the Parse object.
FossilOrigin-Name: c289a253c0c053ac8fc344efe138262c327d8096
2013-12-23 19:09:07 +00:00
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
7232ad0700
Make sure the sqlite3_prepare16 and sqlite3_prepare16_v2 interfaces do not
...
read past a zero-terminator if the nBytes parameter is too large.
FossilOrigin-Name: 20dba3a7fb3e7078b95af3beca948467a3af6a89
2013-07-16 23:26:43 +00:00
drh
c7f0d229a7
Fix compiler warnings. Fix a harmless off-by-one error in the solver.
...
FossilOrigin-Name: 10021941d0258951b916e788881df140113f0597
2013-06-19 03:27:12 +00:00
drh
8e23daf372
Fix the Parse.nQueryLoop state variable to work with NGQP.
...
FossilOrigin-Name: f1cac24f06b9c71cfa472fdcf2da4cd8689a7cc3
2013-06-11 13:30:04 +00:00
drh
60625313b0
Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro
...
covers every case where a prepared statement might need to be reprepared due
to a schema change. The sqlite3_exec() interface now uses
sqlite3_prepare_v2().
FossilOrigin-Name: c1d7304c80c4a6244c8a9f6fad1eebd0f339c724
2013-04-06 18:06:51 +00:00
mistachkin
48864df97d
Many spelling fixes in comments. No changes to code.
...
FossilOrigin-Name: 6f6e2d50941e444ebc83604daddcc034137a05b7
2013-03-21 21:20:32 +00:00
dan
dbd4d5fc77
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on.
...
FossilOrigin-Name: 69746ef787680a4b7590bd1d3c86b229d9d0dac4
2013-03-08 07:10:37 +00:00
mistachkin
ba2bba3c32
Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED.
...
FossilOrigin-Name: c5cee969322d14114e4136510c3891a2e743520d
2012-09-18 23:21:32 +00:00
drh
a19b89627e
Make sure the Index.azColl pointers do not point to connection-specific memory.
...
Also, remove an unnecessary reinitialization to sqlite3.pDfltColl.
FossilOrigin-Name: c469850b2eb61a63150cc5fc7d2fe98f0b5abffb
2012-06-06 10:56:22 +00:00
drh
81028a455d
The former sqlite3ResetInternalSchema() routine was really two different
...
routines, selected by parameter, each with a confused mission. So split
this routine up into three separate smaller routines, calling each
separately as needed. Hopefully this will make further refactoring and
schema reset collateral damage containment easier.
FossilOrigin-Name: aa0c3493d3647d7efe527067e9fcccefda8e3008
2012-05-15 18:28:27 +00:00
drh
74ea19b489
Add an assert() that verifies that the statement pointer from
...
the sqlite3_prepare() family of functions is always NULL if the routines
return other than SQLITE_OK.
FossilOrigin-Name: 0bb1cfc63f982db7b29c8e6be6698a6dad100f70
2012-05-14 12:20:54 +00:00
drh
e73c91496f
Minor changes needed to restore full branch test coverage.
...
FossilOrigin-Name: bc10a753579b65ba4604867204b7b3d8383f3ac7
2011-11-09 16:12:24 +00:00
drh
2b89fbcb1e
Do not do a backup if the number of reserved bytes in the source and
...
destination do not match. Try to make the match, but if unable fail.
FossilOrigin-Name: 0ca8a2332b28d88585dc890e5162b095e783fc20
2011-04-09 02:09:44 +00:00
drh
cdf011dcc4
Additional schema mutex checks for sqlite3RootPageMoved().
...
Reduce the scope of sqlite3ResetInternalSchema() in a few places.
FossilOrigin-Name: 39c00907833413c0d97d3e06fdda967b825d23ea
2011-04-04 21:25:28 +00:00
drh
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
drh
c7792fa052
Begin a series of changes designed to reduce the scope and frequency of
...
invalidating schemas. Design goals are that the internal schema should
never be deleted out from under a prepared statement that is running and
that all prepared statements should be expired if the schema is invalidated.
At the same time, minimize the number of schema invalidations. This change
merely revises the sqlite3ResetInternalSchema() function to use -1 as the
wildcard for "all" rather than 0, so that we can reset the main schema
independently of all the others.
FossilOrigin-Name: 6a8ad6e31e0d2b8a5ace38faf0efd805155ee5f3
2011-04-02 16:28:52 +00:00
drh
d50ffc416f
Fix additional cases of possible signed integer overflow, especially with
...
regard to negation.
FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
2011-03-08 02:38:28 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
dan
0ecdeb2414
Fix a couple of typos in comments. No changes to actual code.
...
FossilOrigin-Name: 9167fdb3560b1567a0bdc9a1906a87ec98e161f1
2011-01-25 13:43:35 +00:00
drh
60ac3f426c
Fix the max_page_count pragma so that it will not set to a value smaller
...
than the current database size, as the documentation requires. Also,
remove all occurances of atoi() from the core.
FossilOrigin-Name: 2031974b606ef713b5f34522b2221470d98687c5
2010-11-23 18:59:27 +00:00
dan
2ce224535f
Experimental changes to EXPLAIN QUERY PLAN.
...
FossilOrigin-Name: f4747eb83dacce6430ad6e5eb20155ffad975514
2010-11-08 19:01:16 +00:00
dan
d19c933e8e
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement.
...
FossilOrigin-Name: 00e55102a8309eb6df08ad4a8937ba02688bac62
2010-07-26 12:05:17 +00:00
drh
9e55d47d33
Reorder variable declarations in the previous check-in to avoid putting code
...
before declarations when not testing.
FossilOrigin-Name: d1fe8ab4a176180053d35300ad0540a27c6cd76d
2010-07-06 09:29:01 +00:00
dan
9859c427a2
Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails.
...
FossilOrigin-Name: c272196115ab3926e56b6f4183ec127e3f98ef9c
2010-07-06 07:36:18 +00:00
drh
6498f0bb2e
Avoid unnecessary calls to sqlite3_step() with null prepared statements
...
while parsing the schema.
FossilOrigin-Name: ae04d2d15d3d96f607adb394a631d96cd4cf2c1d
2010-04-09 09:14:05 +00:00
drh
8b307fbfa0
Automatically generate transient indices for tables in joins that would
...
otherwise have to use a full table scan.
FossilOrigin-Name: 1b2a04125f964e14f3fb90171c5ab86a0641d1c9
2010-04-06 15:57:05 +00:00
dan
b7dca7d733
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4].
...
FossilOrigin-Name: 8858042fa1449516a2c7dbb991dca3eb6c5794cb
2010-03-05 16:32:12 +00:00
drh
a6129fa79a
Enhancements to the way errors are reported up when an automatic
...
statement reprepare fails.
FossilOrigin-Name: 1a6d4bb130382564093b6370818ae4a7633f4074
2010-02-24 17:15:19 +00:00
drh
413c3d36a2
Continuing improvements to error reporting and the sqlite3_log() routine.
...
FossilOrigin-Name: edea3bb740ddd096a46e00678b59d465bb1e2903
2010-02-23 20:11:56 +00:00
drh
9978c97ec5
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
...
output for CORRUPT, and CANTOPEN errors.
FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
drh
6a9c64b363
Make sure internal queries are well ordered, even when the
...
reverse_unordered_selects pragma is in effect.
Ticket [eb942c64a157].
FossilOrigin-Name: 0209f17180065d9c213b6c437be1c3c40660665f
2010-01-12 23:54:14 +00:00
shaneh
d77f56efe5
Fix typo in comment of prepare.c.
...
FossilOrigin-Name: 333c3ffe6d4d2293d01958812b9c02b0bf9796a4
2009-12-17 21:05:42 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan
937d0dea4f
Add the experimental sqlite3_reoptimize() API.
...
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
dan
65a7cd1631
More fixes and comment updates.
...
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
2832ad4221
More fixes for test cases.
...
FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
2009-08-31 15:27:27 +00:00
dan
165921a742
Changes to support recursive triggers.
...
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
3d5f74b275
Alternative fix for ticket #3810 . This is a replacement for check-in (6956). (CVS 6960)
...
FossilOrigin-Name: ba1afc040171810d0c996708d7b9cb11abcd99d8
2009-08-06 17:43:31 +00:00
drh
35ccb3d3bc
Return a better error message when problems are encountered parsing a
...
TEMP trigger or TEMP view that references objects in other databases that
have been modified or dropped. Ticket #3810 . (CVS 6956)
FossilOrigin-Name: 102785b9fbc5ab5dd740110243f080e3f3661e87
2009-08-01 16:27:00 +00:00
danielk1977
595a523a10
Allow virtual tables to be used in shared-cache mode. (CVS 6928)
...
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
1adecdf814
Remove unused code (that was commented out) from prepare.c. Remove an
...
incorrect NEVER() macro. Fix the comment on schemaIsValid() to correctly
describe its return behavior. (CVS 6845)
FossilOrigin-Name: 90deb65835febc908f21bca89ef497d1048afe0a
2009-07-03 19:19:50 +00:00
danielk1977
94b30733f7
When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942 . (CVS 6837)
...
FossilOrigin-Name: 611e704fdf90a3d3932ca1cbab4be7e282bf1ddf
2009-07-02 17:21:57 +00:00
danielk1977
602b466e99
Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836)
...
FossilOrigin-Name: e3c055f167f895ae45858de9d9d8a264df2f36b6
2009-07-02 07:47:33 +00:00
drh
9635cc7c0d
Get the notify2.test running again by removing an ALWAYS() that was mistakenly
...
inserted and by taking care not to report corruption following an
SQLITE_LOCKED failure during schema parsing. (CVS 6815)
FossilOrigin-Name: 6e9140a729bd26dd102e603abf6ea16d67e8546e
2009-06-25 11:50:21 +00:00
drh
27731d7c73
Make sure sqlite3BtreeCreateTable() returns an error code if the largest
...
rootpage field is invalid in auto_vacuum mode. Update file-format comments
to describe all of the "meta" values. (CVS 6797)
FossilOrigin-Name: bda38f5e86db45234c2dbb0f8d1a81f6ff6d04e4
2009-06-22 12:05:10 +00:00
drh
58fbb314ae
Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770)
...
FossilOrigin-Name: 08cca219f16efab93cb00f04d2e2f8033893e5f1
2009-06-17 00:35:30 +00:00
drh
9da742f969
Changes sqlite3_prepare_v2() (and related routines) so that if it fails due
...
to a missing table and the schema is out of date, it retries once before
returning SQLITE_SCHEMA. Other changes to prepare.c to facilitate coverage
testing. (CVS 6769)
FossilOrigin-Name: 256ec3c6af41c2324db82e4deb54edbba5b581e8
2009-06-16 17:49:36 +00:00
drh
c5e47ac238
Fix two instances where a malformed header in a database file (in other words
...
a corrupt database file) can lead to an assertion fault. (CVS 6712)
FossilOrigin-Name: 4e92c7f20afa51849128aa1d784ab885b517a73d
2009-06-04 00:11:56 +00:00