drh
989b116a03
Fix the CREATE INDEX statement so that trying to create a TEMP index on
...
a non-TEMP table throws an error rather than segfaulting.
FossilOrigin-Name: e3c8935f8736d00dc83644fa21d86ca7fec6d2fc
2013-08-01 22:27:26 +00:00
drh
f5601cac4d
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a
...
serial_type specifies a field that starts in bounds but is much too large
for the allocated buffer. Mostly harmless. The overread is unlikely to
go more than one or two bytes past the end of the buffer.
FossilOrigin-Name: e436b2f4e5c5e6b2f70e65332c0c7d618e2ef20a
2013-08-01 20:26:04 +00:00
drh
df003d61ce
Make sure signed integer overflow does not cause a segfault while attempting
...
to read a corrupt database where the header size varint on a record is larger
than the maximum 32-bit signed integer.
FossilOrigin-Name: c3baca99f4580652afb2c3f73036ab83796a1557
2013-08-01 19:17:39 +00:00
drh
828463375c
An improved method for avoiding the use of the STAT3 samples to compute
...
the estimated number of outputs when the left-most index is equality
constrained. This check-in undoes the previous fix and applies a new one.
FossilOrigin-Name: 127a5b776d16e1e23c5b3d454f6aaea67f1ded3a
2013-08-01 17:21:26 +00:00
drh
788482c745
Avoid using left-most column STAT3 samples if the left-most column has an
...
equality constrain and there are inequality constraints on the second column.
FossilOrigin-Name: 31b4e63b3c30fcad22340d84d6076a306f26b49e
2013-08-01 16:52:50 +00:00
drh
3bf0ac1709
Fix bug in the logic that determines the end of a CREATE INDEX statement.
...
Added a VACUUM test case that exposed the bug.
FossilOrigin-Name: 2e3df0bc900c01286d3ce32c2bbf9e5293973f9b
2013-08-01 16:02:40 +00:00
drh
66518ca71f
More test cases and corresponding bug fixes.
...
FossilOrigin-Name: 0c8cfdfae215c95cf167f404a1d346690b28e972
2013-08-01 15:09:57 +00:00
drh
619a1305e7
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function.
...
FossilOrigin-Name: 8e07aa2ad5579aeb82174ce5bd432ddb9c058bc1
2013-08-01 13:04:46 +00:00
drh
cf0fd4a5fd
Refactor internal function name sqlite3VdbeGetValue() to
...
sqlite3VdbeGetBoundValue().
FossilOrigin-Name: 81834c3023876487a1188390aae850cf71683701
2013-08-01 12:21:58 +00:00
drh
721dfcf544
Fix the ANALYZE command to work with partial indices.
...
FossilOrigin-Name: 60353124f4e965393ecd864019bdbca1999fb69e
2013-08-01 04:39:17 +00:00
drh
8a9789b6c1
Test cases and bug fixes for the partial index logic.
...
FossilOrigin-Name: 6b73ae7c123801787c8994113cbeb87ee96ba653
2013-08-01 03:36:59 +00:00
drh
b2b9d3d758
Add the logic to keep partial indices up to date through DML statements and
...
when new partial indices are created. This new logic is untested except to
verify that it does not interfere with full indices.
FossilOrigin-Name: fb9044d15ad4fd6ae4a38858c0c0e6fe9d4faa25
2013-08-01 01:14:43 +00:00
mistachkin
c6fc65ce08
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning.
...
FossilOrigin-Name: 136fc2931b156f91cdd76a7a009298cdf09d826a
2013-07-31 23:28:36 +00:00
drh
4bd5f73fa0
Add logic to the query planner to only use partial indices if the WHERE clause
...
constrains the search to rows covered by the partial index. This is just
infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a
no-op so that partial indices will never be used.
FossilOrigin-Name: 8ca3eac111e06a1854f878a74bffe8f20eb47f1b
2013-07-31 23:22:39 +00:00
mistachkin
aa82eba40d
Slight modifications to path name translation handling for Cygwin.
...
FossilOrigin-Name: 33ba1f4c5dc2ef8292adf17a32ade0cde0887d88
2013-07-31 22:39:26 +00:00
mistachkin
16a2e7a053
Use a new error code to represent a failure to get the configured temporary directory on Windows.
...
FossilOrigin-Name: c93d891b03c626b9ed01ed5ef2f246b2d4a40a64
2013-07-31 22:27:16 +00:00
drh
68f7a9e942
The MAX_PATH constant in windows is measured in characters, so multiple by 3
...
to get the number of bytes assuming worst-case UTF8 pathnames.
FossilOrigin-Name: bb06e1579022c24546ac5117a99846b3c37ef59b
2013-07-31 19:55:25 +00:00
drh
3780be115a
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow
...
expressions that contain variables, subqueries, or functions.
The expression is still not used for anything, however.
still unused.
FossilOrigin-Name: f2aa7842c8b9df24294f09e2bde27b3f08c455c7
2013-07-31 19:05:22 +00:00
drh
1fe0537e51
Here begins an experimental branch for exploring the idea of a partial index.
...
This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but
does not actually do anythingn with that WHERE clause yet.
FossilOrigin-Name: 6794b2dcb48b3507caccfc7867fc185818cf8291
2013-07-31 18:12:26 +00:00
drh
6b36e82c7b
Reduce the size of the stack required by the codeOneLoopStart() function in
...
where.c.
FossilOrigin-Name: eb6d4278b8516e0571269049d1eaa55066f51b1a
2013-07-30 15:10:32 +00:00
drh
443dbcf5ae
Comment and preprocessor macro cleanup.
...
FossilOrigin-Name: c0809b5e32c2ca0600098447a573e718eaeb319f
2013-07-29 15:54:06 +00:00
drh
53371f90e4
In the command-line shell, work around the fact that popen() and pclose()
...
are not defined in stdio.h. in C89 and later.
FossilOrigin-Name: 8bcbb33fd0a970e16a920e1d35571836dbb9ba50
2013-07-25 17:07:03 +00:00
dan
1d1f07df58
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX
...
FossilOrigin-Name: cc78e21c7794948a187e694773735058fc7460d7
2013-07-25 16:41:39 +00:00
drh
0d1961e91c
Enhance the progress handler so that it keeps track of the number of VDBE
...
cycles across sqlite3_step() calls and issues callbacks when the cumulative
instruction count reaches threshold.
FossilOrigin-Name: 4698a82ef855a8e56163622283fb25317d7efdc4
2013-07-25 16:27:51 +00:00
mistachkin
626c25846c
Merge updates from trunk.
...
FossilOrigin-Name: dd4b77c82af07bdcc92ed743f050e70887e5956e
2013-07-20 00:39:33 +00:00
drh
af66433625
Remove unused "codec" code from the command-line shell.
...
FossilOrigin-Name: 37abfe0c1e5da63342389c527a9f7cbe0f8392d9
2013-07-18 20:28:29 +00:00
drh
6b75329ae1
Improved documentation for sqlite3_set_auxdata().
...
Ticket [406d3b2ef91c].
FossilOrigin-Name: 62465ecba7431e1d71e17a61f1af7dc65fe4fe97
2013-07-18 18:45:53 +00:00
dan
28f8aebf75
Fix a typo in the previous commit.
...
FossilOrigin-Name: cd9096e64b86c8d45f6744e6eb6ced2aa1a18279
2013-07-18 18:28:04 +00:00
dan
0c5477997b
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9].
...
FossilOrigin-Name: 71effa59c98d167e6e4b269e59ad5f468e664ac1
2013-07-18 17:12:08 +00:00
drh
1ac87e1e81
Fix a 8-byte alignment problem in the query planner that might cause
...
problems on sparc when compiled with -m32.
FossilOrigin-Name: 5dcffa671f592ae9355628afa439ae9a2d26f0cd
2013-07-18 14:50:56 +00:00
drh
b8c068329d
Documentation changes to warn that sqlite3_set_auxdata() might call the
...
destructor even before it returns. Also fix the regexp extension to deal
with that case. Ticket [406d3b2ef91c].
FossilOrigin-Name: 7acc8cd32d593a473c9e9adaf323220a7a46480a
2013-07-18 14:16:48 +00:00
drh
9f01e582be
Clear the error string pointer in sqlite3_vtab object after the error string
...
is transferred to SQLite. Ticket [78588b938a11].
FossilOrigin-Name: 64bf8148b84e0ebb45c12b629f49bc9b316aceba
2013-07-17 11:54:47 +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
aa32e3c60a
Enhance the query planner so that it looks at multiple solutions to OR
...
expressions in the WHERE clause.
FossilOrigin-Name: 5e19d054105fb16ff52d265d48cc87a418603f6f
2013-07-16 21:31:23 +00:00
drh
425e27db12
Add the sqlite3_cancel_auto_extension(X) interface which will undo a prior
...
call to sqlite3_auto_extension(X).
FossilOrigin-Name: cdce87eb889a43dafcc560d5f97ab517d0266860
2013-07-15 17:02:28 +00:00
drh
8dd675e43f
Make sure the shell does not try to put a zero terminator on the end of an
...
unallocated zero-length string when running ".import" on an empty file.
FossilOrigin-Name: 92adaee5bd31c152dbc1592f4aeb5d8da957a1ea
2013-07-12 21:09:24 +00:00
drh
a95882ff39
Change the description of how sqlite3_progress_handler() works so that
...
the N parameter is "approximate". This aligns with the current implementation.
This is a documentation change only. No changes to code.
FossilOrigin-Name: 7d829bdea3adcda50fbe930acb4e1ce73fd874e6
2013-07-11 19:04:23 +00:00
drh
b1eaa718fd
Add the experimental "query_only" pragma.
...
FossilOrigin-Name: 6557c407983b067449deb76bc4c5248de64e07dc
2013-07-11 15:22:31 +00:00
drh
648e264342
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS
...
value for sqlite3_db_status(). This is a cherry-pick of a sequence of five
checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70].
FossilOrigin-Name: 527121ac3cdc96ac33ad975c227a6685a2f7e999
2013-07-11 15:03:32 +00:00
drh
8f8c65f79b
Fix harmless compiler warnings in the progress callback logic.
...
FossilOrigin-Name: 908141d5bf7a9ad8f40c2332476847733eca7fdc
2013-07-10 18:14:29 +00:00
drh
13447bf6c7
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn
...
write capabilities on and off.
FossilOrigin-Name: ece960c496717a3a6c25526ef77dd76b08d607bc
2013-07-10 13:33:49 +00:00
drh
49afe3aaa0
Run progress callback checks less frequently in the main VDBE evaluation
...
loop. This makes up for the extra CPU cycles used to increment the cycle
counter for SQLITE_STMTSTATUS_VM_STEP.
FossilOrigin-Name: 3e8b02011db2f393d4850115a471709b0a88594f
2013-07-10 03:05:14 +00:00
drh
1f10c28618
Modify several extensions to use the new exported function naming.
...
Fix some shared library compilation issues.
FossilOrigin-Name: 1e39f85077f1f2b96c3a656c5b6334bafb005908
2013-07-09 12:36:30 +00:00
drh
5e128b235b
Make sure the schema is verified prior to processing a "WHERE 0" on the
...
first term of a compound SELECT statement.
Fix for ticket [490a4b723562429]
FossilOrigin-Name: 52a49cbc1621094b2fe2b021209b768d29e0426b
2013-07-09 03:04:32 +00:00
drh
e8c13bf262
Make sure an adequate number of digits are shown for binary-to-text rendering
...
of very small floating point values.
FossilOrigin-Name: 776e65f98ce80a8ed56cb73ef56c751702698612
2013-07-08 22:33:20 +00:00
drh
b5246e518b
Fix an adverse interaction between the IS NOT NULL optimization (available
...
only with SQLITE_ENABLE_STAT3) and the transitive constraint processing.
Fix for ticket [d805526eae253]
FossilOrigin-Name: 3b30b75b342bb6b424ad2bf7cd841b2c88bdad44
2013-07-08 21:12:57 +00:00
dan
789efdb966
Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_LIMIT if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made).
...
FossilOrigin-Name: 0ae7e75b215b0d75920769da9146c54ce2ad3ce0
2013-07-06 17:57:39 +00:00
dan
d903154e3a
Replace an erroneous SQLITE_OMIT_VIRTUAL_TABLE in vdbeaux.c with SQLITE_OMIT_WAL. Also fix some test script problems.
...
FossilOrigin-Name: ff8c3f7840a0a8d87453b94b9884ee26d5d92da5
2013-07-05 16:54:30 +00:00
dan
b2cfc14670
Add missing "static" qualifier to functions in where.c.
...
FossilOrigin-Name: 5c906e914b63eb00e62c6c2a535e234a75d95030
2013-07-05 11:10:54 +00:00
mistachkin
049d487e2e
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues.
...
FossilOrigin-Name: f2ab8747825ab5131ffab174aa0ffe5e474f6811
2013-07-04 23:53:56 +00:00