1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00
Commit Graph

536 Commits

Author SHA1 Message Date
drh
5cd792399a When pinning a temp register after it is reused by the column cache, make
sure all instances of that register in the cache are pinned so that the
register is never reused for a different purpose.  Ticket #3879. (CVS 6676)

FossilOrigin-Name: 5f358e63712e8de93bd6fecc5131badeef0292be
2009-05-25 11:46:29 +00:00
drh
51f49f1745 Simplifications to expr.c in support of full coverage testing. (CVS 6665)
FossilOrigin-Name: 309adb5e22af2735b69460c164d870aea99c6da3
2009-05-21 20:41:32 +00:00
drh
c4a64facce Rework the logic that generates a schema for tables created using
"CREATE TABLE ... AS SELECT ...".  Instead of trying to copy the raw
datatype string from the right-hand side, just make the type one 
of TEXT, INT, REAL, NUM, or nothing.  This is much simpler than 
trying to parse and quote datatype strings.  Other minor 
implifications to build.c are bundled with this change. (CVS 6626)

FossilOrigin-Name: 33cf83591e6e13875ef6ada5b8ac8ab07619d8bc
2009-05-11 20:53:28 +00:00
drh
9ab4c2e880 Changes to the trigger.c module that facilitate full coverage testing. (CVS 6621)
FossilOrigin-Name: 567ccc68cc8c73b952a91c71a0e00b08bb25c689
2009-05-09 00:18:38 +00:00
shane
60a4b53823 Changes to silence compiler warnings under MSVC. (CVS 6613)
FossilOrigin-Name: df599237e1ca8b4f361477a712cf761aa1fac3df
2009-05-06 18:57:09 +00:00
drh
24fb627afa Record within the Token structure itself whether or not the token has
been dequoted.  This steals one bit from the length of a token and
thus limits the size of tokens to 1GiB. (CVS 6589)

FossilOrigin-Name: 12bcb03d9b9e1a31c1a3c67cbb4263cc0af2f3d0
2009-05-01 21:13:36 +00:00
danielk1977
c1f4a19bfa Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556)
FossilOrigin-Name: e096f90a57f0e0d1dbeaafc72762035ca55ab803
2009-04-28 12:08:15 +00:00
danielk1977
f0d0a8dc4a Fix an assert that could fail after a parse error in expr.c. (CVS 6555)
FossilOrigin-Name: a37d1174eb80e9a09522b236afdb47283f312d06
2009-04-28 11:10:39 +00:00
drh
ceea33217b Rework the column-cache mechanism to be more robust (and more correct).
The column-alias cache is currently disabled, (CVS 6538)

FossilOrigin-Name: dd4d67a67454a3ff13c286a2a8360c5f0432c91d
2009-04-23 13:22:42 +00:00
drh
044925be0b Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both
regular and virtual tables. (CVS 6537)

FossilOrigin-Name: ecbef45011f1f98d940b2d3492941213d9f04172
2009-04-22 17:15:02 +00:00
drh
12ffee8cb9 Minor refactoring of the expression-compaction logic for clarity of
presentation.  New comments added.  The EXPRDUP_DISTINCTSPAN flag is
removed as obsolete. (CVS 6470)

FossilOrigin-Name: 44ded2ea67374f187a111df69c3f51f866735400
2009-04-08 13:51:51 +00:00
danielk1977
e1fb65a0b8 Ensure the required VerifyCookie/Transaction/TableLock opcodes are added for "x
IN (SELECT c FROM t)" expressions. Ticket #3771. (CVS 6439)

FossilOrigin-Name: 058a2f20930d7707c03c3c27db8e761d5657ee46
2009-04-02 17:23:32 +00:00
drh
7c01f1d754 Remove an unused parameter from sqlite3DequoteExpr. Fix another unrelated
and harmless compiler warning. (CVS 6386)

FossilOrigin-Name: 8589b0fcc51a32188386e442655fd91f421ca7f8
2009-03-25 16:51:43 +00:00
drh
1af466eb6b New assert()s added to verify that the Expr.token value is used correctly. Ticket #3743. (CVS 6378)
FossilOrigin-Name: cf3d84ab73b7f519921a984f88bdad81996a3a82
2009-03-24 15:31:28 +00:00
drh
d9da78a2c8 Changes to insure that lookaside memory allocations are never used to hold
schema content.
Ticket #3743. (CVS 6377)

FossilOrigin-Name: ea74d8dc62f5784089aa8ef098e97c505a79b176
2009-03-24 15:08:09 +00:00
danielk1977
bc73971db6 Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372)
FossilOrigin-Name: db1d4d2f5083adf5438c7f387b115180800e7bd9
2009-03-23 04:33:32 +00:00
drh
0bb1221eed Add comments and testcase() macros to the fix for shared-cache schema default
value problem of check-in (6353). (CVS 6356)

FossilOrigin-Name: 05d8607d44cd3ff262c07cc1192f4471f3192b09
2009-03-18 10:36:12 +00:00
danielk1977
21822c58b0 Fix a problem that could cause a crash when a shared-cache schema contains column default values. (CVS 6353)
FossilOrigin-Name: afadddc34eee3d6a39102b790ce1a869b33d4286
2009-03-17 17:48:59 +00:00
danielk1977
c427740b78 Comment out a recently added assert statement that is failing. (CVS 6340)
FossilOrigin-Name: d0b2015f1caf2fc60ec82bd8e760f7b61befa3b4
2009-03-05 14:53:18 +00:00
shane
c0688ea172 Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335)
FossilOrigin-Name: 5477833ec7f707ea9937d3fd6a6d8ab49f2016f1
2009-03-05 03:48:06 +00:00
danielk1977
2d2e7bd32e Reverse commit (6315) for now. (CVS 6317)
FossilOrigin-Name: 0e7c369c23a8767b4d3e5cdd47c14716992fb71a
2009-02-24 10:14:40 +00:00
danielk1977
e2d7b24d08 Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315)
FossilOrigin-Name: 294ba6f743c9132dce0e73da480bd3c2071e7239
2009-02-23 17:33:49 +00:00
danielk1977
d336e222f4 Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310)
FossilOrigin-Name: e43ed649630cbc49a6f2a25a26a4a6b5fce84c48
2009-02-20 10:58:41 +00:00
drh
08de14908d Add a count parameter to the OP_Variable opcode and use it to simplify
prepared statements that copy consecutive unnamed parameters into
consecutive registers (a common case). (CVS 6309)

FossilOrigin-Name: 48b77b04935d8942eb22f0c061f3bc5e99bbd7db
2009-02-20 03:55:05 +00:00
danielk1977
6ab3a2ec8a Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
shane
fbd60f826d Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
danielk1977
78ca0e7eb4 When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196)

FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
drh
d1fa7bca39 Remove some unused code from expr.c in order to increase test coverage. (CVS 6156)
FossilOrigin-Name: 2cbea64fb00a1b5b8aa0e9c958b2a09256ae59bc
2009-01-10 13:24:50 +00:00
drh
e99fa2af71 Convert the "~" and "NOT" operators to be two-address instructions.
Ticket #3541. (CVS 6028)

FossilOrigin-Name: ea9b747efb22fd3f679c3ef86ed51986c5ad9436
2008-12-15 15:27:51 +00:00
drh
1bd10f8a00 Additional work at eliminating silly compiler warnings. (CVS 6010)
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
555f8de7ef Fix a segfault associated with the column cache that occurs on nested VIEWs.
Ticket #3527. (CVS 5989)

FossilOrigin-Name: 490138a2012fcb4c859e1cf12a35e314ec1060d2
2008-12-08 13:42:36 +00:00
drh
6a1e071f3d Make use of sqlite3DbMallocSize to maximize the size of growable buffers
after each reallocation.  Added new comments and testcase() macros to
where.c. (CVS 5981)

FossilOrigin-Name: 46f2d08959423e130a5b346138311649d92f0fde
2008-12-05 15:24:15 +00:00
danielk1977
f3d3c27a0c Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
259a455f71 Make sure affinities and implicit collation sequences are correctly used by comparison expressions in the select-list or having clause of an aggregate query. Ticket #3493. (CVS 5889)
FossilOrigin-Name: b8ceaa00500f29bbbd0cc5aec71a6ffa91ae6b43
2008-11-12 08:07:12 +00:00
drh
1735fa8892 Fix a bug in the CAST operator associated with the column cache. (CVS 5866)
FossilOrigin-Name: 1b6a5140446da896f69fddc8d1ea076815bb45e3
2008-11-06 15:33:03 +00:00
drh
31daa63f3e Disable the result-set alias cache when on conditional code branches.
Ticket #3461.  The column cache and result set alias cache mechanisms are
prone to this kind of error and need to be refactored.  This check-in should
be considered a temporary fix in advance of a more general redesign of the
whole mechanism. (CVS 5841)

FossilOrigin-Name: 1fa3bbd8220ce073e91935ea362b6f5d5d6d2859
2008-10-25 15:03:20 +00:00
drh
10fe840e4d Fix a memory leak on ORDER BY of a compound select caused by the resolver
on a flattened query.  Also fix a OOM segfault in WHERE clause processing. (CVS 5801)

FossilOrigin-Name: d2c252d6bbde4ae14da6c9e6c2683d763d11c59f
2008-10-11 16:47:35 +00:00
drh
e82f5d04c3 Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100.
The default upper bound is still 100, but it can now be raised as high
as 1000 at compile-time. (CVS 5780)

FossilOrigin-Name: 79df72ee836db91647913055ba6cf55558679b01
2008-10-07 19:53:14 +00:00
danielk1977
85574e31cb Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766)
FossilOrigin-Name: 98ca5580f5acd2e7b3ce512520ec0527f221505e
2008-10-06 05:32:18 +00:00
danielk1977
4e7f36a27f Change to reduce the number of OP_Null opcodes in "WHERE <rowid> IN (x,y,z)" queries. (CVS 5763)
FossilOrigin-Name: 33b59a3db0b1797663ae840ceaca1b23a9a9e3b0
2008-10-02 16:42:06 +00:00
danielk1977
41a05b7bee Optimize queries that contain "WHERE rowid IN (x, y, z...)" by using an intkey btree to store the (x, y, z...) set instead of an index btree. (CVS 5760)
FossilOrigin-Name: 803a1736d56b3c07b8ad38715fe0e39196ecc507
2008-10-02 13:50:55 +00:00
drh
d176611b44 Fix for tickets #3378 and #3381 that preserves the aliasing optimization.
And yet, this fix feels uncomfortable.  Seeking an alternative... (CVS 5712)

FossilOrigin-Name: f8b759f1977915c314be874840ebf18e6bc69b57
2008-09-17 00:13:12 +00:00
drh
f44ed02790 Add test cases for ticket #3378 and #3381. Add a temporary hack to get those
to problems fixed.  The hack causes failures in alias.test, but those are much
less serious than the aforementioned tickets.  This is a stop-gap until we can
figure out a proper fix. (CVS 5711)

FossilOrigin-Name: a67da9dd2ff6acc163de4ce2b836b03e3f159a88
2008-09-16 18:02:47 +00:00
drh
8b213899e8 Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the
result set.  Ticket #3343.  Note that aliased GROUP BY expressions are still
evaluated twice. (CVS 5637)

FossilOrigin-Name: ab0292caa5887cc1bdc0e8c9d3f3502b83975440
2008-08-29 02:14:02 +00:00
drh
ee76c61657 Remove dead code. (CVS 5601)
FossilOrigin-Name: 6de9c084fc533fbb22af6a4cd3e4e9a461b13876
2008-08-22 17:34:45 +00:00
drh
9d8b3072ce Enhanced test coverage. (CVS 5598)
FossilOrigin-Name: cc36b4e016a1f519ca81d591de3a551ee8aa6813
2008-08-22 16:29:51 +00:00
drh
7d10d5a6e1 Refactor the name resolution procedures in the code generator. (CVS 5569)
FossilOrigin-Name: daf730d1defa78fb8b80a78f9108ac35a13e09f6
2008-08-20 16:35:10 +00:00
drh
a33cb5f776 Improved clarity of presentation in the tokenizer. (CVS 5545)
FossilOrigin-Name: 732657c6a639bdf71a3341f6747d19298d442ddb
2008-08-07 13:05:34 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00