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

261 Commits

Author SHA1 Message Date
drh
b5092d18a4 A minor simplification to the tokenizer. (CVS 6771)
FossilOrigin-Name: 18f2076ac21dd0ab343a79461837f5591f9d4d87
2009-06-17 01:17:13 +00:00
drh
8be4f639d9 Remove a C++-ism from the code. Ticket #3912. (CVS 6752)
FossilOrigin-Name: bc729bc3e6f6e3570103e646080eb119311b0fa7
2009-06-12 11:42:11 +00:00
drh
19f81f6cdd Changes to tokenize.c to facilitate full coverage testing. (CVS 6738)
FossilOrigin-Name: 5e8c48cff7e96e6030b796dba409844f4c758a60
2009-06-09 18:01:37 +00:00
drh
33e619fc1c Additional refinements to Expr handling. Restore compression of trigger
expressions.  Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue.
Remove an unnecessary ExprDup from CHECK constraint processing.  And so forth. (CVS 6682)

FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff Simplifications to the Expr object: Remove Expr.span completely and convert
Expr.token into a char* Expr.zToken.  Also simplify the Token object by
removing the Token.dyn and Token.quoted fields. (CVS 6681)

FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +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
shane
b08a67a772 Fix compiler warnings from gcc and MSVC; Correct typo in select.c; (CVS 6417)
FossilOrigin-Name: 768514179a63783c4e70b931d1697403c04bedf5
2009-03-31 03:41:56 +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
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
588a9a1a1c Defer deleting Table objects associated with flattened subqueries until
all code has been generated, in case some expression node still references
the Table object.  Ticket #3346. (CVS 5650)

FossilOrigin-Name: d04d70336727a0db959c672e6c22cdaa0505dce5
2008-09-01 15:52:10 +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
200a81dcb5 Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be
allowed but never worked, so this should not present compatibility problems.
Other internal grammar simplifications. (CVS 5546)

FossilOrigin-Name: 4cedc641ed39982ae8cbb9200aa1e2f37c878b73
2008-08-08 14:19:41 +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
drh
ec424a5be6 Add the capability to track the maximum depth of the LALR(1) parser stack
so that critical applications can check to see if they are getting close
to limits. (CVS 5481)

FossilOrigin-Name: ef0250f3dc769a4acd534f31fa06d90922d4145b
2008-07-25 15:39:03 +00:00
drh
f089aa459e Completely rework the sqlite3SetString() primitive so that it honors the
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)

FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
drh
fb45d8c563 Testing coverage enhancements. (CVS 5358)
FossilOrigin-Name: fe80aa58a4ac12db5a92d25d28165f5159f04533
2008-07-08 00:06:49 +00:00
drh
e5ae5735c0 Continuing work on the new memory allocation subsystem.
Added routines for temporary memory allocation.  Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)

FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
danielk1977
57f41a76db Avoid passing a null pointer to sqlite3SetString in sqlite3RunParser. Fix for #3155. (CVS 5183)
FossilOrigin-Name: 03b5e4581a075179c85e8c16b16fd24c151294d3
2008-06-02 13:00:33 +00:00
drh
4f3dd1502e Make sure that transactions are started on all virtual tables that
changes in a single statement, not just the first.  Ticket #3083.
Need to add test cases. (CVS 5063)

FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
2008-04-28 18:46:43 +00:00
drh
35b5a33e24 Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint.
Gives 0.5% speed increase. (CVS 4968)

FossilOrigin-Name: b2517a7d8f7275943d44cc301f9d54fc8a4653e7
2008-04-05 18:41:42 +00:00
drh
4b1d66c1ec Make sure the zTail return from sqlite3_prepare() is initialized even
if there is a malloc failure. (CVS 4963)

FossilOrigin-Name: 040cffe2727936ce9228666fce5b00db47493e7d
2008-04-03 21:42:21 +00:00
drh
bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
drh
4b2f9368cb Improved test coverage for the tokenizer and sqlite3_complete() interface.
Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743)

FossilOrigin-Name: c82033faf8bdb83ce43f0dd1611408e7796d53de
2008-01-22 23:37:09 +00:00
drh
cbd2da9ce9 When SQLITE_MAX_SQL_LENGTH is 0, disable the limit. Make the default 0.
Once again build the sqlite3 CLI from individual source files so that
it can be built on systems that lack tclsh.  Tickets #2845 and #2846. (CVS 4636)

FossilOrigin-Name: 07aeca3b9c51e538ba7939950a970f62e51bd3ea
2007-12-17 16:20:06 +00:00
drh
46c99e0f5d Work around problem with forward declarations of constants in MSVC
in the amalgamation.  Ticket #2574. (CVS 4304)

FossilOrigin-Name: dc80b2e1f4e1d31479aad9f39e651e62f2601fb8
2007-08-27 23:26:59 +00:00
drh
f3a65f7e44 The malloc.test script now passes all tests with no errors. (CVS 4271)
FossilOrigin-Name: db818430e9ea4ef4a4af575784009d5acae785a3
2007-08-22 20:18:21 +00:00
drh
29278e3dbb Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
drh
95bdbbbd9e Move prototypes for LEMON-generated parser functions into sqliteInt.h.
Ticket #2521. (CVS 4177)

FossilOrigin-Name: bc02c7f1621ff46707f147c75f7e98462b01907f
2007-07-23 19:31:16 +00:00
drh
eba1a1ebee "extern" prototypes cause problems for the Digital Mars compiler. So
remove them.  Ticket #2502. (CVS 4156)

FossilOrigin-Name: f35fbf8070d770a603960b2a2afdeae91574ed5f
2007-07-13 10:26:08 +00:00
drh
9a087a99e5 Relax the restriction on using bytes 0x80 through 0xbf as the first
character of an identifier.  Enhancements to ALTER TABLE tests for
tables with strange names or stange column names. (CVS 4008)

FossilOrigin-Name: 262a3e6339b31f269f8f07e43d295b90827e2779
2007-05-15 14:34:32 +00:00
drh
eab7f3fe8d Do not allow bytes 0x80 through 0xBF to be the first character of an
identifer because no valid UTF-8 character can begin with those bytes.
If we allowed an identifier to begin with one of those bytes, then the
substr() function in ALTER TABLE will not work correctly. (CVS 4003)

FossilOrigin-Name: 252810424d8c4dcd19b369d62027094df7cf0bcc
2007-05-15 09:00:14 +00:00
drh
e5c941b83b Add more code to enforce the limits specified in limits.h. (CVS 3946)
FossilOrigin-Name: c59d436095b5258d7132a432c0cb6cd5a7990d85
2007-05-08 13:58:26 +00:00
danielk1977
a04a34ff1a Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845)
FossilOrigin-Name: 8d6c3bfc4dfdd380a2915d778e256d3e49d22d72
2007-04-16 15:06:25 +00:00
drh
23a4d14e79 Fix prototypes for the parser. Syntactic change only - no effect on
object code.  Ticket #2193. (CVS 3607)

FossilOrigin-Name: 02990fabd1c68fb51afc91a1b720802ef86bfec6
2007-01-26 19:31:00 +00:00
drh
67dd9011fc Require whitespace or punctuation between a numeric literal and an
identifier or keyword.  Ticket #1912. (CVS 3345)

FossilOrigin-Name: 0f667c4abd73bbb806a5efb31b0aba6efaf40fb8
2006-08-12 12:33:14 +00:00
drh
15ca1df1bf More work toward getting sqlite3_interrupt() to work from separate
threads.  Ticket #1897. (CVS 3336)

FossilOrigin-Name: e431131d47481f9fc64c498e8934b10a96b0a931
2006-07-26 13:43:30 +00:00
drh
881feaa043 Initial attempt at making sqlite3_interrupt() work even when called from
a separate thread. (CVS 3335)

FossilOrigin-Name: 35fd67d7a0c55797eb460e3bd02c96afe619f026
2006-07-26 01:39:30 +00:00
danielk1977
33b3933c15 Ensure whitespace specified as part of a virtual table constructor argument is correctly passed to the constructor function. (CVS 3290)
FossilOrigin-Name: 4630e11d9a697a7fa29a0a1bbca91da4ad2bde7b
2006-06-24 08:51:05 +00:00
danielk1977
7e6ebfb246 Add first cut of sqlite3_declare_vtab(). Not at all well tested yet. (CVS 3213)
FossilOrigin-Name: bbeb93b5bb26ba83ee7b7ae439ca5ceebebac9a0
2006-06-12 11:24:37 +00:00
drh
b9bb7c187e Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211)
FossilOrigin-Name: 898ec36b4102aaa03979f8f5c510936e57e2ae48
2006-06-11 23:41:55 +00:00
drh
9b8f447b36 Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161)
FossilOrigin-Name: 4342b4997199241cafd6120c6abda665770e270c
2006-04-04 01:54:55 +00:00
drh
0b2a5eeae9 Allow '@' to introduce host parameter names for compatibility with
MS SQL Server.  Ticket #1671. (CVS 3067)

FossilOrigin-Name: 0738ef818d4023a5159b6bee0a65f0b83d01c1d5
2006-02-09 22:24:41 +00:00
drh
24bd82c396 Fix some compiler warnings. (CVS 2983)
FossilOrigin-Name: b7bdac0afd99b8dc03749877f675a5f782120295
2006-01-20 17:56:32 +00:00
danielk1977
9e12800dec Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)
FossilOrigin-Name: ac090f2ab3b5a792c2fdf897e10060f263e0d408
2006-01-18 16:51:35 +00:00
drh
4b494d65a7 About a 2.5% speed improvement by reducing the number of sqlite3ThreadData
calls in the parser. (CVS 2924)

FossilOrigin-Name: 0caa1994770142d6ca15284a26bad3879b07b15a
2006-01-12 12:43:36 +00:00
drh
6f7adc8a80 Automatically deallocate thread-specific data when it is no longer
being used.  Ticket #1601.  Also implemented the suggestion of
ticket #1603. Memory management is now off by default at compile-time.
The sqlite3_enable_memory_management() API has been removed. (CVS 2919)

FossilOrigin-Name: 5d9c6aa964305c3f36741ff0058da5b5f3ce0d24
2006-01-11 21:41:20 +00:00
danielk1977
e501b89ada Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)
FossilOrigin-Name: 82b81f69c78cb3f54634d9aea4f6a838474dc5e5
2006-01-09 06:29:47 +00:00