Commit Graph

551 Commits

Author SHA1 Message Date
drh 7826a9b83f Merge the performance enhancements of trunk (and some obscure bug fixes)
into the sessions branch.

FossilOrigin-Name: 7f51ad97f0b24c57453d58faf25eee68861faa23
2014-03-04 14:34:14 +00:00
drh e8c1eba9a9 Also adjust the order of files in the amalgamation to ensure that
_FILE_OFFSET_BITS is defined before any #include, for QNX.

FossilOrigin-Name: 23001a85cd334090cf6c70d4d7e722a01f4f6899
2014-02-25 18:12:58 +00:00
drh 2926f9694f Fix the VDBE_PROFILE logic. Add a script to process the output file.
FossilOrigin-Name: 7adb3da235c8c162c84f05ef4ccf1cc463805d5f
2014-02-17 01:13:28 +00:00
dan 43a6c6b2d4 Merge latest fixes from the trunk.
FossilOrigin-Name: 6b6dcd4cc75317628072abac7c58b41361cc72b4
2014-01-29 14:21:31 +00:00
drh db718d8a3b Fix harmless compiler warnings in the showdb utility program.
FossilOrigin-Name: 27c27daa3324b7c9323acfb972330367630bb64e
2014-01-28 20:36:22 +00:00
drh 19913f4419 Bring in the latest updates from trunk.
FossilOrigin-Name: 7b5f3773867ed0e4ed17bd473ba972d500035318
2014-01-28 18:06:17 +00:00
dan b68b97789e Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail.
FossilOrigin-Name: b30db0ac3096b43d55a6da40cafc7de569082bf8
2014-01-25 12:16:53 +00:00
drh c187698614 Bring in all the latest trunk changes, including the Common Table
Expressions implementation.

FossilOrigin-Name: 9b43e559195680e558264c4c00d34dc9cf9d9146
2014-01-24 14:05:18 +00:00
drh 7b19f25247 Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause
name resolution.

FossilOrigin-Name: 7f953b568baa3eede0b9c144be0b9bc86496341a
2014-01-16 04:37:13 +00:00
mistachkin 7a429658d7 Fix harmless compiler warning in LEMON.
FossilOrigin-Name: f61a70589ac7e05008a362bd9d5b7bde5d07a758
2014-01-14 10:17:21 +00:00
drh 8b4718636c Parse common table expressions. But do not do anything with them (yet).
FossilOrigin-Name: da98b7205eb3d7ec2ddbf8a8e24eee0b2ff499a5
2014-01-11 13:22:17 +00:00
drh 03e1b1f5ff In LEMON, limit the size of the grammar file to 100MB. This ensures that
the program will never experience integer overflow.  To be doubly sure,
use calloc() instead of malloc() when allocating arrays.

FossilOrigin-Name: 29ba458d849ad8864711cbe59fb10447a947e06a
2014-01-11 12:52:25 +00:00
drh ecaa9d399c Add the "%token_class" directive to the LEMON parser generator. This opens up
the possibility of simplifying the parser.  Also remove all calls to 
sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings
on OpenBSD.  (Aside:  It is this change to avoid harmless compiler warnings
that was the cause of the reason spat of bugs.)

FossilOrigin-Name: 8eb48c04bd0a14031488b3160fde67307eb8b35d
2014-01-11 03:27:37 +00:00
drh 61f92cd045 In LEMON, fix a bug in the text formatter introduced by the previous
commit.  Also add the new "%token_class" directive for defining symbolic
names that stand any one of a collection of tokens.

FossilOrigin-Name: da7890ca6b1d8e511377a469047120220e8c3b2d
2014-01-11 03:06:18 +00:00
drh 898799fa00 Do not use sprintf(), strcpy() or strcat() in the implementation of the
lemon parser generator tool, to avoid compiler warnings in OpenBSD.

FossilOrigin-Name: e43c522dde01e134f1adc94f534d2b3eda74afc2
2014-01-10 23:21:00 +00:00
drh c8d985e09c Merge in all recent preformance enhancements from trunk.
FossilOrigin-Name: 32477642d79615fb85680bdac812ad9655cf6902
2013-12-14 18:24:46 +00:00
drh 2dc0648a80 Do not run the tool/vdbe-compress.tcl script that generates the
vdbeExecUnion object that reduces the size of the sqlite3VdbeExec()
stack frame unless the SQLITE_SMALL_STACK compile-time option is
specified as on of the OPTS in the makefile.  The vdbeExecUnion object
gets in the way of C-compiler optimizer and results in slightly slower code.

FossilOrigin-Name: 4d0781473a465b4ab0a307914014f3d2ddd0ce33
2013-12-11 00:59:10 +00:00
drh 1b2ee4fe1a Merge in performance enhancements from trunk.
FossilOrigin-Name: fc9ae839569eb28eb734c52d95676c59b2e27494
2013-11-26 18:00:29 +00:00
mistachkin f201496c6a Minor correction to the batch build tool for MSVC.
FossilOrigin-Name: 22144c9df260910c4b67960b0e6a6bd5a6758cd7
2013-11-22 00:49:43 +00:00
drh 212c6be141 Merge the skip-scan optimization into the sessions branch.
FossilOrigin-Name: 7596d1bf8040f7cefc7b22c5e609acc5d66820bf
2013-11-14 19:18:39 +00:00
drh 84e55a80db Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify
some of the other debugging logic.

FossilOrigin-Name: 8ce33f4c818e1c785a1c176f6f631b8184e1166b
2013-11-13 17:58:23 +00:00
drh e54df42d87 Break out the structure and macro definitions of where.c into a separate
header file whereInt.h for easier editing and debugging.

FossilOrigin-Name: c44467124623733aac64096d605f16139b733a7f
2013-11-12 18:37:25 +00:00
drh cbf1b8ef7d Merge in the WITHOUT ROWID changes. A few tests are failing now. They will
be fixed in a follow-on check-in.

FossilOrigin-Name: 5addd1234ded59ce60fb633b76ac87d483377edd
2013-11-11 22:55:26 +00:00
drh 71b4ea83e0 Import the sqlite3_analyzer fixes from trunk.
FossilOrigin-Name: ac711459ff243e787ea5e9c01720dff75a5eda9b
2013-11-02 11:43:05 +00:00
drh a46417151a A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end
of the output. (2) Fix test_stat.c so that it no longer misses some overflow
pages on internal index pages.

FossilOrigin-Name: 42a11e7464ab1d97d603c7409f10710ad4f1f542
2013-11-02 11:34:58 +00:00
drh 7913e41f6d Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables.
Fix index generation for secondary indices that include fields from
the PRIMARY KEY.

FossilOrigin-Name: f9769d701c65770f4b8488f541c59e508393e6c2
2013-11-01 20:30:36 +00:00
drh 1aae39cd26 Merge all changes from trunk, and disable a pair of corruption tests that are
no longer valid since sqlite_master.rootpage can now be NULL for tables.

FossilOrigin-Name: dd5d57b9a1b25fb6c9e20024e519b58630cf1fd0
2013-11-01 17:21:29 +00:00
mistachkin 293566eaf2 Update comments in the MSVC batch build tool.
FossilOrigin-Name: 0414bb73ef83332bec3d06471d431690356dbe13
2013-10-31 06:39:15 +00:00
drh d63d4b7bd7 Merge all trunk changes since 3.8.1 into the sessions branch.
FossilOrigin-Name: aa72ea8a004de7fe744fc13baef19d05aea607d5
2013-10-28 22:47:24 +00:00
drh 8075cc17d3 Merge recent fixes from trunk.
FossilOrigin-Name: 9f8191d1d833acaaf612fdff8cc6bd544c042986
2013-10-28 22:39:53 +00:00
mistachkin dd19783225 Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option.
FossilOrigin-Name: f1d8c3b07e61c5a8b39675d0d62876ca15e207f3
2013-10-21 23:17:23 +00:00
drh 5969da4a2c Simplification of the syntax: Merely append "WITHOUT rowid" to the end of
the table definition.

FossilOrigin-Name: 131cc6e152abe1a2d48e6d8d40d2c2f8dbe723e7
2013-10-21 02:14:45 +00:00
drh 81eba73ebf Experimental changes toward "index only" tables. Add the ability to specify
options on CREATE TABLE statements using the WITH clause modeled after
PostgreSQL and SQL Server.  Only the "omit_rowid" option is currently
recognized and that option is currently a no-op.

FossilOrigin-Name: 0248ec5e6e3797575388f046d8c27f7445fe2a39
2013-10-19 23:31:56 +00:00
drh 9327c70f68 Merge the latest trunk changes into the sessions branch. This merge
should fix the build for WinRT.

FossilOrigin-Name: e111e4edf9d7b2d4d6d6673a7576801839e9537d
2013-10-15 14:10:44 +00:00
drh 3ef261567a Restore the index_list pragma back to its former operation. Create a new
PRAGMA stats used to access the table and index widths and heights.

FossilOrigin-Name: f0cf8c85dcbcc7778aed2816792c368d777f79cb
2013-10-12 20:22:00 +00:00
mistachkin 0ed02a6dcb Permit the creation of VSIX packages for Win32.
FossilOrigin-Name: 035d03e94252f31025b39da49d8401933352fb77
2013-10-12 02:31:34 +00:00
drh 2b51f2153b Fix a harmless compiler warning in lemon.c.
FossilOrigin-Name: 62959c0ce3a2c486ebd82e6511efad0412b944a0
2013-10-11 23:01:02 +00:00
drh 4f99189051 Fix various harmless compiler warnings. Change the "warnings.sh" script to
work with STAT4 instead of STAT3.

FossilOrigin-Name: 7df06684ab36bfdad9e9aca6940b7a665c2a0cb5
2013-10-11 15:05:05 +00:00
drh 80e0b72e8d Make sure the sqlite3.h file occurs at the very top of the sqlite3.c
amalgamation.

FossilOrigin-Name: 03593817ab5abdd4bbaa5e47e2e4745eef025af9
2013-10-11 13:27:26 +00:00
drh a63b852992 Synchronize with the trunk.
FossilOrigin-Name: 136445ba020c9475d3f5a7843d7d0add98477138
2013-10-10 20:13:18 +00:00
drh 919e3b3908 Another fix to the hash signature algorithm in vfslog.c.
FossilOrigin-Name: 34212aa8c405c4ff3f8045ec0cf2a860af61540f
2013-10-10 13:41:04 +00:00
drh 7cd84ffc60 Fix the hash signature algorithm in vfslog.c. Add a utility program to
show the hash signatures for every page of a database file.

FossilOrigin-Name: eaf4de13a63b2294ae575432a022493308a4313a
2013-10-10 13:38:51 +00:00
drh 6f38a6418c Merge bug fixes from trunk.
FossilOrigin-Name: 1d7b2dc0eae70c0c0e523b715acf758bb4cfa9ac
2013-10-07 10:48:06 +00:00
drh 8ab88326cb Restore the hexrekey pragma which was accidently deleted during the
pragma refactoring.  Make sure the hexkey and hexrekey pragmas do not
overflow buffers with a over-length key.

FossilOrigin-Name: 0aca31e1514b3df254c049b4251bcb199831681a
2013-10-07 00:36:01 +00:00
drh 0af62b015a Improvements to the LogEst command-line tool used to convert between
ordinary numbers and the LogEst representation.

FossilOrigin-Name: 5252aeb61988e511dcf8d527fa81e51a5c9385f9
2013-10-05 18:32:30 +00:00
drh bf539c4d5c Begin an experimental refactoring to estimate the average number of bytes
in table and index rows and to use that information in query planner.
Begin by renaming WhereCost to LogEst and making that type and its
conversion routines available outside of where.c.

FossilOrigin-Name: 66c4a251d61582b47d5cbe50cbca160a9209bd06
2013-10-05 18:16:02 +00:00
drh f63936e805 Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single
place, based on a flag in the pragma table, rather than separately from each
case which needs the schema.

FossilOrigin-Name: 8338232a111be16d6c2ab57176d0a23a001f02ad
2013-10-03 14:08:07 +00:00
drh 01f75f2d68 In the lemon parser generator, change all hashes to unsigned to avoid
potential problems with signed integer overflow.

FossilOrigin-Name: 8d399a03de63c15908d63ed69140ee15c6275b8d
2013-10-02 20:46:30 +00:00
drh be007dc61e Fix comments in the fast_vacuum.c demonstration program.
FossilOrigin-Name: e0db7b38e1bc0edb1c3995cb23c46488aa6a0909
2013-10-01 19:36:15 +00:00
drh ba7df1188a Add the "fast_vacuum.c" demonstration program to the tool/ subdirectgory.
FossilOrigin-Name: 2b60320d57a4638ebf97a2854527649c671d108e
2013-10-01 19:02:56 +00:00