Commit Graph

1582 Commits

Author SHA1 Message Date
drh d42908fb0e Provide the new SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER option to
sqlite3_db_config() that can be used to activate the two-argument version
of fts3_tokenizer() for a specific database connection at run-time.

FossilOrigin-Name: 374b5108087a2eae03676c0f3469b37a272145bf
2016-02-26 15:38:24 +00:00
drh d566c95179 Change the "PRAGMA stats" command to report size values in LogEst units.
The eliminates the need for sqlite3LogEstToInt() unless non-standard
compile-time options are used, so leave it out except in those cases.

FossilOrigin-Name: 832c237fcbe83dd4f5a18a06acb0aeb7e2b9e712
2016-02-25 21:19:03 +00:00
drh c3489bbf77 Take the LIMIT clause into account when estimating the cost of sorting.
FossilOrigin-Name: d491745cab951e0de70f1f79b7640ea8aff6e8bb
2016-02-25 16:04:59 +00:00
drh 6ad224e91e Change a char* to const char* in order to suppress some harmless
compiler warnings.

FossilOrigin-Name: 56f62e34ae9d5c7db07367f0007df258b2e76bd2
2016-02-24 19:57:11 +00:00
drh 0e0089679f Add the SQLITE_BITMASK_TYPE compile-time option.
FossilOrigin-Name: 0064a8c77b2b048c71277d1cfd1ba3975b513b70
2016-02-23 16:28:34 +00:00
mistachkin bfc9b3f45c Revise compiler checks for the rand_s() function.
FossilOrigin-Name: 287f508dd6abc1b9ffdbec6a685ebe79eeac992b
2016-02-15 22:01:24 +00:00
drh 32c49904a6 Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors.
Only effective with compiling with SQLITE_DEBUG.

FossilOrigin-Name: 9b3454762d142113f5923d754ca6bd2edefbd362
2016-02-15 18:15:15 +00:00
drh 80738d9c3e Improvements to the application-defined function mechanism so that it is
more compact and runs faster, especially when the application defines
thousands of new SQL functions.

FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +00:00
mistachkin fad3039c51 Enhance ability to debug out-of-memory errors.
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh 4553f6ea91 Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name: 0beb32d20d8dd698138cdb2de6b6056de176754d
2016-02-11 22:41:04 +00:00
drh 2a0b527b37 Omit unnecessary CHECK constraints in UPDATE statements, when none of the
columns referenced in the CHECK constraint are modified.

FossilOrigin-Name: 02fbdbc782dd98f080bf4482d820f36c0ef3d519
2016-02-10 16:52:24 +00:00
drh bdb00225ab Omit NOT NULL checks on unchanging columns in an UPDATE.
FossilOrigin-Name: 6a3aaedfb41735996470abbae6d3cd1be1f508b3
2016-02-10 16:03:20 +00:00
drh bbde018230 Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format
to 4 if is not there already.  No need to upgrade to only 2 or 3 since format
4 has now been supported for over 10 years.

FossilOrigin-Name: e1d8ec85546caeca3bb7a05ad962a2aed91194ce
2016-02-09 16:09:22 +00:00
drh 575fad6500 Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
cases where db is guaranteed to be not NULL.

FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh 4a642b6060 Improvements to the way that OOM errors are processed.
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh 6841b1cb3d Add "PRAGMA synchronous=EXTRA" which syncs the directory containing the
rollback journal when the rollback journal is deleted in order to commit a 
transaction in DELETE mode.

FossilOrigin-Name: af92401826f5cf49e62c278f344ab75252a18da2
2016-02-03 19:20:15 +00:00
drh 1b32554b80 Enhance the internal sqlite3VdbeAddOpList() interface to automatically update
jump destinations.  Use this feature to simplify the AUTOINCREMENT code
generator.

FossilOrigin-Name: ae8b9d2edf1b5aef6108e729754911db7682b6a3
2016-02-03 01:55:44 +00:00
drh 4b09ec6e11 Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface
and use them.  Add assert() statement to verify that they are correct.

FossilOrigin-Name: 85c467041c9378cae3038756da815e9117ee8c7d
2016-01-30 13:32:30 +00:00
drh 5f4a686f8c Simplification and size reduction to the printf logic. Remove the bFlags
parameter from sqlite3VXPrintf() and sqlite3XPrintf().  Use sqlite3XPrintf()
instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output.

FossilOrigin-Name: 0bdb41c45aa1cc8e5c136aaa6605d54b401483bd
2016-01-30 12:50:25 +00:00
drh def19e3b48 Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better
reflect its purpose.

FossilOrigin-Name: 1d3bf6bebdda9f96734bc139601e9b05344ea0b4
2016-01-27 16:26:25 +00:00
drh 8716bfd8cd Merge all recent trunk enhancements.
FossilOrigin-Name: 9a71d56dcea953cb965f1fdda9a8b8f158cdeff6
2016-01-26 23:32:55 +00:00
drh 40aced5c65 Add the sqlite3TokenInit() utility function.
FossilOrigin-Name: 7323175337b7ba85ac932ca892b28860f6a5b688
2016-01-22 17:48:09 +00:00
drh e807bdba86 Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new
BTREE_IDXDELETE bit indicates that the call is to delete an index entry 
corresponding to a table row that has already been deleted.

FossilOrigin-Name: ac2cbadd8000947c097da5b00c00090fe58fdcff
2016-01-21 17:06:33 +00:00
drh 9c0c57a4ca Improved comments on the FORDELETE hint. No logic changes.
FossilOrigin-Name: a3cec529f0238e4ca1196fec420f2de80d28db78
2016-01-21 15:55:37 +00:00
drh 9bfb024de0 Remove an unnecessary memset() from the symbol name resolver.
FossilOrigin-Name: da527ddae06460ab4b706cdb871de2188ebaf5ac
2016-01-20 02:21:50 +00:00
drh 6d664b4bb3 During compilation, transfer the azVar[0..nzVar-1] array from Parse to Vdbe
rather than copying it.  Smaller and faster code.

FossilOrigin-Name: 80dd495f378614e4eca72e71e43061b1b94ee450
2016-01-20 01:48:25 +00:00
drh dad300d8e1 Fix a problem with SQLITE_TEST_REALLOC_STRESS.
FossilOrigin-Name: 0aaf3febb00f622c5ef0853b2491d69f7ca7a21e
2016-01-18 00:20:26 +00:00
drh 2d80151f32 Combine the xFunc and xStep pointers of the FuncDef object into a single
pointer xSFunc.

FossilOrigin-Name: 0d1b3d7d3ca66cb0b97493f1aeade1703af3c9f4
2016-01-14 22:19:58 +00:00
drh c0fba6d8e8 Remove an obsolete #ifdef related to iOS support.
FossilOrigin-Name: e9a51d2a580daa0fb152fe4c891149caa8025b9d
2016-01-08 17:28:24 +00:00
drh 8549d55ead Small performance and size optimization spotted while working on the
shared-cache problem.

FossilOrigin-Name: 828958ff77a5c239d55302f570077835c093e0fa
2016-01-07 17:09:43 +00:00
drh fa385edff3 A new approach to very large sqlite3_mprintf() strings: Back out the
[d655a665] check-in and instead make the size fields in StrAccum unsigned.
Strings generated by sqlite3_mprintf() can now be as large as 2^31-1 bytes.

FossilOrigin-Name: 7adb789f45698e5569b840d23f3f9488db3ed109
2016-01-04 12:07:27 +00:00
drh bd57308eef Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary
calls to sqlite3_msize().

FossilOrigin-Name: 3e852804c85a5c9f4c4ffafd55d03af6d19fe5cc
2016-01-01 16:42:09 +00:00
drh e6110505c9 Fix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS.
FossilOrigin-Name: 9c392c1019ee15f27c8e05b41246d2844f91f6c0
2015-12-31 15:34:03 +00:00
drh e5520e2f06 Small size and performance optimization to the VDBE comparison opcodes.
FossilOrigin-Name: 7a0b9413fa94d3f4fa9751ddf9b213a1238954f1
2015-12-31 04:34:26 +00:00
drh f19aa5fa6f Changes to the way that the default BINARY collating sequence is recorded
result in a slightly smaller and slightly faster executable.  More work could
be done to make this cleaner.

FossilOrigin-Name: 2081d75767dc590b4c8457e5f8e5f18ba5f8eaa7
2015-12-30 16:51:20 +00:00
drh e1462a762c Avoid a harmless compiler warning on systems where the byteorder cannot
be determined at compile-time.

FossilOrigin-Name: 7c7b7f26306b6aa6ff35b871ad756f43f5db9838
2015-12-24 14:53:27 +00:00
drh 1c75c9d7f1 Ensure that the Expr objects that describe indexed expressions are not modified
by code generation.  Fix for an assert() problem found by Jon Metzman using AFL.

FossilOrigin-Name: 34073ce87d88a02313217023ae92e15939192cd9
2015-12-21 15:22:13 +00:00
drh 34628b4b4f Move pointer range comparisons into a macro, where they can be dealt with in a more portable way.
FossilOrigin-Name: 05bc4f920ce23da48d1da6cd36a956fd6fd7c862
2015-12-10 17:59:50 +00:00
drh ac536e613a Move pointer range comparisons into a macro, where they can be dealt with
in a more portable way.

FossilOrigin-Name: ad3124c834b080aaaf24934d6f08b3601ac3ae53
2015-12-10 15:09:17 +00:00
drh ea06a271a4 Avoid doing comparisons with pointers that might have been previously been
passed to realloc() and/or free().

FossilOrigin-Name: f20396adb2cff12a17a3fc90b36241ae3fdfd62a
2015-12-08 16:08:10 +00:00
drh 7977fa3ab2 Enhancements to a comment in sqliteInt.h. No changes to code.
FossilOrigin-Name: 5446ae64d7f92444ca40aae2108015d1d77bc03f
2015-11-20 13:17:29 +00:00
drh 18f8e73453 Fix problems with the way the IsHiddenColumn() macro is defined.
FossilOrigin-Name: 126b998cf163dcdd5a222634f1e929f04db3c700
2015-11-19 18:11:20 +00:00
drh 80090f9221 When manifesting a view as part of an DELETE or UPDATE, be sure to include
the hidden columns in the manifestation.

FossilOrigin-Name: 28df5dc4a9569f388af2ee0d1f016afbea132277
2015-11-19 17:55:11 +00:00
dan ba68f8f3f5 Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns.
FossilOrigin-Name: 59bd0ec7d4327852ee8c0206b2c59d0a12484db8
2015-11-19 16:46:46 +00:00
drh 03d69a6826 Only support the magic "__hidden__" column name prefix interpretation when
compiled with SQLITE_ENABLE_HIDDEN_COLUMNS.

FossilOrigin-Name: 5490646b2eb74ea8bd5ab2690f69b9c707a0165f
2015-11-19 13:53:57 +00:00
drh 5e3cefe3d0 Update the SQLLOG logic so that to builds in accordance with the instructions
in the header comment.

FossilOrigin-Name: ee6f2feec7d777a969ddba6dc00fb571d64e57f8
2015-11-12 23:48:08 +00:00
dan d83f7ca114 Add support for the SQLITE_SQLLOG_CONDITIONAL environment variable to the logging code in test_sqllog.c. When defined, logging is only performed if the "<database>-sqllog" file is present in the file system when the main database is opened.
FossilOrigin-Name: cab8126be9f63dd596719b12704ba77c128282bc
2015-11-12 20:12:51 +00:00
drh 6e7722669e Proposed fix for an infinite loop bug in the WITH clause semantic analysis
logic.

FossilOrigin-Name: 028475cb17a4b50baf0e9aba9bd3403d0a5d03b0
2015-11-07 17:48:21 +00:00
drh 2476a6f2cb Enhance TreeView to show WITH clauses. Add an assert to detect the
infinite loop behavior when certain kinds of errors occur on a nested
WITH clause.

FossilOrigin-Name: 2040d88e877bdb69de125a047cefb4a1558e89e8
2015-11-07 15:19:59 +00:00
drh b1d607de25 Improvements and simplifications to the equality seek logic. Tests are
adjusted so that they all pass now.

FossilOrigin-Name: 997ce6c90b454c03cc2ef6934752ee8dd2e520e3
2015-11-05 22:30:54 +00:00