1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

1512 Commits

Author SHA1 Message Date
mistachkin
04abf0878f Import common changes from the mutex initialization branch.
FossilOrigin-Name: 334720c01722478af0d3dfd6fe8bafd88ba09f49
2015-09-12 18:57:45 +00:00
drh
0e8729dbe4 Attempt to declare sqlite3MemoryBarrier() correctly for all possible
build configurations.

FossilOrigin-Name: da8a288f8ef4be34281519b4b4db9b857b9d168b
2015-09-10 04:17:06 +00:00
drh
6081c1dbdf Add a memory barrier to the mutex initialization logic, try to work around
an issue reported by WebKit.

FossilOrigin-Name: 11a9a786ec06403addb47f5c6fb142b382fae522
2015-09-06 02:51:04 +00:00
drh
0b8d255c37 Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful
purpose and in fact interferred with the query planner.

FossilOrigin-Name: 7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
2015-09-05 22:36:07 +00:00
drh
a7f910b549 Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name
for what that bit means.

FossilOrigin-Name: ff5137a6dd8cb2a9b629b3a244f52665e9c9ebce
2015-09-01 13:17:17 +00:00
drh
03bf26d90d Not only date/time functions, but also functions like sqlite_version() and
changes() need to be prohibited from use inside of indexes.

FossilOrigin-Name: 487131303980f15dd5e1b6695b4f29efda229eb8
2015-08-31 21:16:36 +00:00
drh
1d85e405e6 Make the distinction between truly deterministic functions and date/time
functions which only return the same answer for a single query.  Only truly
deterministic functions are allowed in indexes.  Add new expression index
test cases.

FossilOrigin-Name: c77554b5c42327106a7b90334e9cc3c07b007c76
2015-08-31 17:34:41 +00:00
drh
e14796085a Merge enhancements from trunk.
FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9
2015-08-26 18:04:23 +00:00
drh
5579d59fb3 Evaluate expressions only once when the same expression is used in both the
result set and in the ORDER BY clause.

FossilOrigin-Name: c2f3bbad778504681b39ab9399a1eb3c1a35ab3f
2015-08-26 14:01:41 +00:00
drh
0576bc59a7 Refactor With.a.zErr into With.a.zCteErr. No logic changes.
FossilOrigin-Name: 58ba73630ecc4bc58b03a7962dd45b305ef605ef
2015-08-26 11:40:11 +00:00
drh
567cc1e407 Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4.
FossilOrigin-Name: b3732a4e1b42a86675d89766cb8089914e2fab9a
2015-08-25 19:42:28 +00:00
drh
760b32dff2 Merge trunk enhancements.
FossilOrigin-Name: e8b02902c48f3668dcff7b1767347ac7ef3c971e
2015-08-25 19:24:11 +00:00
drh
e910769817 Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the
affinity of an index column.

FossilOrigin-Name: 1ee089a72d789002a0a377347fc51e08ab32fb14
2015-08-25 19:20:04 +00:00
drh
1f9ca2c84c Add code to maintain indexes with expression arguments across DELETE, INSERT,
and UPDATE statements.  Legacy tests pass, but the new code paths are still
largely untested.  The query planner currently makes no effort to use
expression indexes.

FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2
2015-08-25 16:57:52 +00:00
drh
a514b8eb0c Changes toward being abld to process indexes on expressions. Not there yet -
this check-in is just movement in that direction.  Some tests are failing.

FossilOrigin-Name: 0ad0f8d77d8f95ca2ffb7745d18219f5e87dc89c
2015-08-25 00:27:06 +00:00
drh
108aa00a87 Enhances the parser so that it accepts arbitrary expressions for the arguments
of an index, though the code generator still rejects everything other than
simple column names.  The sqlite3RestrictColumnListSyntax() routine is removed
since that feature is now handled by the parser.

FossilOrigin-Name: bed42116addabcf3dfdc2e2d51ae183965704988
2015-08-24 20:21:20 +00:00
drh
8981b904b5 Enhance the CREATE VIEW syntax so that the names of columns of the view can
be specified after the view name.

FossilOrigin-Name: d794b34da6f9c77dfe17773b0b17b22de72cce7f
2015-08-24 17:42:49 +00:00
drh
bc622bc045 Disallow the use of COLLATE clauses and the ASC and DESC keywords within
foreign key constraints and in the argument list to common table expressions.

FossilOrigin-Name: 83cbc4d8761498647794affffa961a4fca311be7
2015-08-24 15:39:42 +00:00
drh
01d230ce05 A list of arguments following a table name translates into equality
constraints against hidden columns in that table.

FossilOrigin-Name: 40e12cfe4c29475417ba89fb637b4c763cf74016
2015-08-19 17:11:37 +00:00
drh
8a48b9c0b1 Minor refactor of the SrcList object so that it is able to hold the argument
list to a table-valued-function in the FROM clause.

FossilOrigin-Name: b919376147597c4b73421abe5788f893baf1560b
2015-08-19 15:20:00 +00:00
drh
51be3873c0 Initial implementation of eponymous virtual table instances.
FossilOrigin-Name: c1f43a7799a9298abea01b2f8531fc7cdadc4594
2015-08-19 02:32:25 +00:00
mistachkin
60e0807801 Add SQLITE_DISABLE_INTRINSIC define to disable use of intrinsic functions (e.g. for certain older compilers and/or platforms).
FossilOrigin-Name: f0075d735a76ce326619b6ba7f0d556e492f1c41
2015-07-29 21:47:39 +00:00
mistachkin
9895f73526 For Windows CE, a different header is required for the byteswap intrinsics.
FossilOrigin-Name: 2d572b8cdc67679cc95e69677a87e7b4a82f6c2d
2015-07-24 20:43:18 +00:00
drh
3e9dd938dd Enable memory-mapped I/O on FreeBSD and DragonFly.
FossilOrigin-Name: 2cdd647951ff5dca53576bb8be6dd6310a557571
2015-07-15 23:15:59 +00:00
mistachkin
65a88fcb42 Skip trying to include 'intrin.h' when compiling for WinCE with MSVC.
FossilOrigin-Name: 6db90ca2b4ac806b42532072ebe6b2a4a7b9713d
2015-07-14 21:56:17 +00:00
drh
4297c7c4be Add a compile-time constant for configuring the default pagecache setup.
FossilOrigin-Name: ad5fdfbac85682f0f0dee62e1086f40026a58be2
2015-07-07 21:14:42 +00:00
mistachkin
647ca46fc5 Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available.
FossilOrigin-Name: fe144dd73f7097a17c24c7812c2a1cc40466e6da
2015-06-30 17:28:40 +00:00
drh
ad265296ff Only use <nowiki>__builtin_bswap16()</nowiki> with GCC 4.8 and later.
FossilOrigin-Name: ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea
2015-06-30 14:01:20 +00:00
drh
82ef8775c7 Simplifications and performance improvement in pager_write().
FossilOrigin-Name: ab7aeeead395a05b91a921ef9ebe9252fffad667
2015-06-29 14:11:50 +00:00
dan
923cadb1ae Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code.
FossilOrigin-Name: 4df852ce26c95d5d23c83dbe9c59d2c3435acddf
2015-06-23 12:19:55 +00:00
drh
f5ed7ad63e Fix harmless compiler warnings.
FossilOrigin-Name: b0badb99023e23bef0e2064cec58f2b279af0c0b
2015-06-15 14:43:25 +00:00
drh
72bc8208f0 When generating code for partial indexes, be sure not to modify the
index condition expression in the schema.

FossilOrigin-Name: e63d01c69c3e50f49ee3022a519c4f3e91f00520
2015-06-11 13:58:35 +00:00
drh
38b4149ca1 Factor out the TreeView parse tree printing module into a separate file.
FossilOrigin-Name: c32ce54ca46a4be4373983be6fd44b1f3a0250d1
2015-06-08 15:08:15 +00:00
drh
d62fbb50e6 Change the name of SrcList.a[].zIndex to the more descriptive
SrcList.a[0].zIndexedBy.

FossilOrigin-Name: 6a9cf063379118dbb95c6cdc6d60af50e9867177
2015-06-04 12:08:53 +00:00
drh
05883a3409 Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
FossilOrigin-Name: bce3f04186cd2d69414a5a98b5b77dc8f060554a
2015-06-02 15:32:08 +00:00
drh
7cea7f95c7 Using "SELECT ALL" instead of just "SELECT" on a query that uses a single
unflattenable subquery or view in its FROM clause will force the subquery to
be manifested into a temporary table rather than run incrementally using a
co-routine.  This is a stop-gap means of controlling the decision to manifest
while we try to work out a better to make that decision automatically.

FossilOrigin-Name: a29e117d7ecec05da949348689dbfb0d3acb1280
2015-05-29 01:35:19 +00:00
drh
a7298ac191 Disallow the use of "rowid" in CTEs - it has never worked correctly and it
makes no sense, so we might as well make it an explicit error.
Also: add the PRAGMA cell_size_check=ON command.

FossilOrigin-Name: 19e2cebc12aaa4e72d3bad74af73575a0457e5d4
2015-05-27 15:10:20 +00:00
drh
fccda8a162 CTEs have never add working rowids. So disallow the use of the "rowid" column
within CTEs.

FossilOrigin-Name: 0055df0445932a43e42b318ef88672dcbe312c3a
2015-05-27 13:06:55 +00:00
drh
1421d980c5 Add the "PRAGMA cell_size_check=ON" command.
FossilOrigin-Name: 2ead43f074d01312c7642e1df9abccc95547f019
2015-05-27 03:46:18 +00:00
dan
c5b7358513 Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY.
FossilOrigin-Name: 3b936913f3dc2cae4c94f983f28d85b136a44c9f
2015-05-26 11:53:14 +00:00
drh
22c17b8bf5 Simplifications to error message processing. Fix a possible problem in error
message formatting when vacuuming a database with a corrupt schema.

FossilOrigin-Name: 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e
2015-05-15 04:13:15 +00:00
drh
3e0327d5de Revamp the way the DBSTAT virtual table is registered.
FossilOrigin-Name: 4e6520159e729b6ea96ccdb14f0ecb00a0ff7cbd
2015-05-11 11:59:15 +00:00
drh
c049057242 Cleanup of the sqlite3StrAccumInit() function. No functionality changes.
FossilOrigin-Name: 7952c32268aa650d9ee946d5bfe190f712e3bbe6
2015-05-02 11:45:53 +00:00
drh
5789d1a46f Remove obselete comment text from the description of the Table object.
No changes to code.

FossilOrigin-Name: 6566b72a9c68b347d126189b376f52ffd56edfba
2015-05-01 15:25:51 +00:00
drh
b4a91a9a88 Improved support for OSTRACE on Windows.
FossilOrigin-Name: ca43812bde499a23244e2860d3ceddc97d29f09e
2015-04-29 00:35:07 +00:00
mistachkin
5824d44bab Revise when the sqlite3ErrName() function is defined.
FossilOrigin-Name: 9e593fb3dbc58e86f499ba4399530e3e760eb84d
2015-04-28 23:34:10 +00:00
dan
464083544e Ensure that tables names are dequoted exactly once by the trigger logic.
FossilOrigin-Name: 9d887b92f8086961e045f8acb9ee7a443796d411
2015-04-21 16:38:49 +00:00
drh
a21f78b93f Bring comments on the INSERT code generator up-to-date. Fix the INSERT code
generator so that it correctly handles inserts from a SELECT into a virtual
table with non-terminal hidden columns.

FossilOrigin-Name: 4ac81fac6c6302c042be3df493a41630b733fff0
2015-04-19 18:32:43 +00:00
mistachkin
b10f22a141 Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge.
FossilOrigin-Name: c37f4d492f98ac5c07c08705a3826a3e86107306
2015-04-16 16:27:29 +00:00
drh
772460fd4c Improvements to the way VALUES clauses are parsed.
FossilOrigin-Name: ec5a493ad27593ca78899b3001630c1898b940ff
2015-04-16 14:13:12 +00:00