Commit Graph

7185 Commits

Author SHA1 Message Date
drh
68ff78b1b0 Make sure the output of sqlite3OsFullPathname is initialized even if the
fails due to I/O or OOM errors.

FossilOrigin-Name: e4943adb83819dee06e2e9da25ff6d967ca170de
2009-11-16 23:36:33 +00:00
drh
f6a82030a8 Fix a reference to freed memory that can occur following an OOM error in
where.c.

FossilOrigin-Name: 929b6047391411c6f539e47afe6b63d16e352ccb
2009-11-16 22:54:50 +00:00
drh
372726336b Back out part of the change in [23ea2b700fd6d28d] since TH3 reveals some
problems in OOM situations.

FossilOrigin-Name: 15d215d62df72c1bf1e605629692ee40d96546a6
2009-11-16 21:28:45 +00:00
drh
af2b572028 Use the sqlite3CtypeMap[] to improve the speed and reduce the size of the
logic in the tokenizer that recognizes identifiers.

FossilOrigin-Name: 1c9243b0760741f48b15efb0da661255177aed8b
2009-11-16 15:11:51 +00:00
drh
d93a8b276d Additional optimizations in sqlite3VdbeRecordCompare().
FossilOrigin-Name: 23ea2b700fd6d28d3b13663d164faba3760c572e
2009-11-16 03:13:40 +00:00
drh
8b249a886d Optimizations to the sqlite3VdbeRecordCompare() routine help it to run 12.5%
faster for some traces.

FossilOrigin-Name: 74c76f0bf946d184275de478ec72220d76342493
2009-11-16 02:14:00 +00:00
drh
a6c2ed91ca Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code
run a few percent faster.

FossilOrigin-Name: d622ac6ac7a297754494d3a33dbaeea02836272e
2009-11-14 23:22:23 +00:00
drh
bbe879d516 Make the sqlite3VdbeExec() function about 2% faster by storing the opcode
array in a local variable.

FossilOrigin-Name: 8bd3cc82720ac7e8a9d4a03a882b6f8226867b0d
2009-11-14 18:04:35 +00:00
drh
1f35012c11 Performance improvements and size reductions on the OP_Seek* family of
VDBE opcodes.

FossilOrigin-Name: ed820f45cf4354b1e1db64049c47a07221a7ff6d
2009-11-13 20:52:43 +00:00
drh
93952eb8c5 Simplify the OPFLG processing logic in the VDBE for a speed boost in the
VDBE processing loop and a reduction in code size.

FossilOrigin-Name: 3352b3eba545c3128efb7665ec91d4df3b16011d
2009-11-13 19:43:43 +00:00
drh
c54055bd25 Force 8-byte memory alignment on memory allocated for VDBE cursors.
FossilOrigin-Name: bdc45ba77fb77771c8ff46b8d6c2dd29e6d3b019
2009-11-13 17:05:53 +00:00
drh
5c03f30a9a Changes to test_intarray.c so that it build with SQLITE_OMIT_VIRTUALTABLE.
Added testcase() macros to expr.c.

FossilOrigin-Name: f0599d28fabe9e67a7150a91c266cb7655a2002e
2009-11-13 15:03:59 +00:00
drh
91fc4a0c4d Shift more OP_Found opcodes over to using the unpacked format, for improved
performance.

FossilOrigin-Name: 6705ab1ad12cbdbbcf1f3e5439a4e6cbdcc421b3
2009-11-12 20:39:03 +00:00
drh
8cff69df11 Enhance the OP_Found and OP_NotFound opcodes so that they can accept an
array of registers as an unpacked record in addition to a record built
using OP_MakeRecord.  Use this to avoid OP_MakeRecord calls during IN
expression processing.

FossilOrigin-Name: b9eab885cd2ca1a1633329e7036c125e8dba62c5
2009-11-12 19:59:44 +00:00
drh
e3365e6c37 Factor out the IN operator code generation into a subroutine. Use this
subroutine to implement both logic and branching versions of the IN operator.

FossilOrigin-Name: fcff5b7e2d059ffb8d21df57d0c9648bd876e813
2009-11-12 17:52:24 +00:00
drh
36c563a293 Factor out the code generator for BETWEEN into a subroutine.
FossilOrigin-Name: 5735f60b23460e7677b9c982a26bc13b0f4ed02b
2009-11-12 13:32:22 +00:00
shaneh
779b8f126e Update comment for substrFunc(). Added additional SUBSTR() test cases.
FossilOrigin-Name: d7b3801dc7fad1b002f892fb5d82047ebff98369
2009-11-12 05:04:50 +00:00
drh
35451c6acd Suppress unnecessary OP_Noop instructions on when the right table of a
LEFT JOIN uses the index-only optimization.

FossilOrigin-Name: e8aec08bee1c8d593474561898037aed571e64ce
2009-11-12 04:26:39 +00:00
drh
6a51741d46 Suppress excess OP_Null opcodes caused by binary IS or IS NOT operators
that are converted into unary ISNULL or NOTNULL operators.

FossilOrigin-Name: cff1b36ab2c417611f59e96694005c03762788d2
2009-11-12 03:46:34 +00:00
drh
9b918ed1d8 Adjustments to the implementation of LIMIT so that it uses fewer opcodes.
FossilOrigin-Name: 39d5b292d27faf00ab58ff4074f91f7aea97cd99
2009-11-12 03:13:26 +00:00
drh
ae2a348dbd If the sector size is unspecified (initially 0) then set it to 512, not to 32.
FossilOrigin-Name: 8861b5c16031ad570ffbe17b3ec8163b136a7f63
2009-11-11 23:58:06 +00:00
drh
0abaefefd6 Remove an obsolete (and incorrect) comment from sqlite3MemCompare().
No changes to code.

FossilOrigin-Name: c15b70b3aefc399dae1df5bb721530f0e2b7887a
2009-11-11 23:48:22 +00:00
drh
4adc4cb93b Tweaks to the SUBSTR() function to make it dramatically faster in the common
case where the input string is large but the 2nd and 3rd arguments are small
positive integers.

FossilOrigin-Name: 5a474a867c5988ad5ec03719516fdd38f0da5c2c
2009-11-11 20:53:31 +00:00
drh
3c99d68b5c Allow media sector sizes as small as 32. The former minimum size was 512.
FossilOrigin-Name: 5a32bfc17ed022c85d2615c34b41a3dcae2594bd
2009-11-11 13:17:08 +00:00
shaneh
5fc250100e Modified CLI to raise an error when extra command line options are passed.
Added tests to verify correct handling, as well as other basic handling
of command line options. Ticket [f5cb008a65].

FossilOrigin-Name: 09b4f19f100fe82a8321b9ded99e679b7eedc1fa
2009-11-11 04:17:07 +00:00
drh
e76173b7c0 Additional test cases for the coalesce() and ifnull() functions.
FossilOrigin-Name: d0591258b62df4fa610b7ac2a2af0344cf82f231
2009-11-11 01:14:17 +00:00
drh
ae6bb9570b Generate VDBE code for the built-in COALESCE() and IFNULL() functions. This
allows unused arguments to never be evaluated, which is a performance win when
the unused argument is a subquery.

FossilOrigin-Name: 30055b257c3c65f8123cad5ac6c62c4c6ca2c900
2009-11-11 00:24:31 +00:00
drh
63b3878921 Additional intarray test cases and tweaks to comments.
FossilOrigin-Name: 0c8db5d88ee41dab58d6464283b51f82f7457838
2009-11-10 17:55:47 +00:00
drh
522efc62b0 Initial implementation and test cases for the "intarray" virtual table.
FossilOrigin-Name: 0e7d29253f093d4125ede3cfc478e4bf09aef987
2009-11-10 17:24:37 +00:00
shaneh
ac81cd71a5 Fix for datbase name being ignored with the -batch option in the CLI. Ticket [aeff892c57].
FossilOrigin-Name: 8097c64acfc74c913bc6d7d631bc1423c90df93f
2009-11-10 17:07:30 +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
drh
c728597842 Remove from the TCL interface some old code associated with sqlite3_analyzer.
FossilOrigin-Name: 01f2271e51751ff66061f65556a5e324f243756a
2009-11-10 01:13:25 +00:00
drh
1461d7ace0 Omit some code that is not used when SQLITE_SECURE_DELETE is defined.
FossilOrigin-Name: 5a9e746357aa8edeef6b89f01e19cd57555bef32
2009-11-10 01:12:50 +00:00
shaneh
e2aa9d7192 Improved shell "dot" command argument handling. Ticket [f12a9eeedc].
FossilOrigin-Name: 9fb699193378bf812ef97889adc0b1a98ad56d5b
2009-11-06 17:20:17 +00:00
drh
3313b14f46 Fix the backup API so that a backup from an empty database to a non-empty
database works.  Ticket [0bf974bdf9].  The only changes are in assert()
statements.

FossilOrigin-Name: ddb71cd9ed395804a13dc136bb7688a7627c798f
2009-11-06 04:13:18 +00:00
shaneh
6278666fe3 Merged accidental fork.
FossilOrigin-Name: d410cd4e42ecf50a849f49cf3395ec169350e7cf
2009-11-06 03:33:01 +00:00
shaneh
a05e0c4efd Add some very basic tests for the commands available from the CLI.
FossilOrigin-Name: 6bf43338049f956b447139c90df472682e28222a
2009-11-06 03:22:54 +00:00
drh
481aa74e21 Recover an ophaned branch that resulted from some ill-advised "shunning".
This check-in should be identical to [bd443f39a9] except that it should
be on the trunk.

FossilOrigin-Name: 38eaf1ab6e05161e6dc7cd69e942aeca16548c45
2009-11-05 18:46:02 +00:00
drh
1860e3f98f Remove "const" from parameter of sqlite3BtreeFactory() to avoid a compiler
warning.

FossilOrigin-Name: eb7a544fe49d1626bacecfe53ddc03fe082e3243
2009-11-04 13:30:01 +00:00
drh
8677d30812 Create a new datatype "ynVar" to hold "nVar" (number of variable) values.
This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER
is large enough.

FossilOrigin-Name: 24a4d520d540d92b611abc4eb57dc6da9be4eac6
2009-11-04 13:17:14 +00:00
drh
e68e8c58c9 Report errors back up to the ATTACH command if the codec fails to initialize.
FossilOrigin-Name: a6c696102eb483080b0a1d31b85f6b5f85c3efbf
2009-11-04 01:56:27 +00:00
shane
f639c40f77 Fix compiler warnings on MSVC build.
FossilOrigin-Name: 01c4b5b84ec7ce589e20ea66e80011f092ab32f0
2009-11-03 19:42:30 +00:00
drh
f16371d650 Enhancements to lemon to generate more compact action tables and to avoid
making array bounds tests that can never fail on action table calculations.

FossilOrigin-Name: 27d8e684db4651155c4bcb8bb44bf1c692b8c48b
2009-11-03 19:18:31 +00:00
drh
9a5f4d64f3 Force all qsort() calls in mkkeywordhash.c to be stable so that we get
predictable results on different platforms.

FossilOrigin-Name: 3b02df27ab63936226a90098d88535ed19c2b782
2009-11-03 13:08:16 +00:00
drh
e594bc3595 Adjust the lemon implementation so that it always computes the same PDA
regardless of qsort() implementation on the host platform.  In other words,
make all sorts in lemon stable.

FossilOrigin-Name: d66a0f31ebcc56e6f0f462b3db6aab54f7fab816
2009-11-03 13:02:25 +00:00
drh
75f8d8be1a All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures
increase when the compile-time parameter is configured this way.

FossilOrigin-Name: 16a24b4485420bdf30d3c8e22cfbaf008e07df02
2009-11-03 01:22:07 +00:00
drh
ccaf7731d7 Bug fix in the recent changes to mkopcodeh.awk.
FossilOrigin-Name: 6610cac435428434bc978d5e4df92aa1e431240b
2009-11-02 18:44:58 +00:00
drh
b24a2001cc Update the generator AWK script for opcodes.h so that it always generates
opcode numbers in the same order and is not dependent on the hash order
of opcode names within AWK.

FossilOrigin-Name: e730195f52429dc1bc4c1559880effd68e3eced9
2009-11-02 18:14:50 +00:00
drh
539a20fa7c Do not insert the date and time of generation into the amalgamation.
FossilOrigin-Name: 9f6cf13dfbe6f1fe0c05a9c5df557ae20dc08cbd
2009-11-02 18:01:50 +00:00
drh
18bf48f3bc Update the configure script for version 3.6.20.
FossilOrigin-Name: f19cb105d929f0a56f9597b6eb33ad96d0f7eddc
2009-11-02 17:40:07 +00:00