aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
| * Additional small performance increase and size reduction to thedrh2018-12-29
| | | | | | | | | | sqlite3VdbeMakeLabel() mechanism. FossilOrigin-Name: 1bdee199a71e0a6c247b85e72de9e3a3099b7179c33288735721facef3b96459
| * A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewerdrh2018-12-29
| | | | | | | | | | | | | | | | | | memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. FossilOrigin-Name: 4a0929ac76d8aa5dd65eac3b83d6bbf41e505e01d175ca0fb2b19ba02d439415
* | Merge performance enhancements from trunk.drh2018-12-28
|\| | | | | FossilOrigin-Name: 0f1b9ff9e1e6f13e03045fcb7d0907227085054f9eb0b0b8471fb26b0094b13a
| * Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointerdrh2018-12-28
| | | | | | | | | | deference on the fast path in sqlite3VdbeAddOp3(). FossilOrigin-Name: 8f10efc29dea7b816b1ba401726c268950d6671d890f686911269082a241d8d9
* | Experimental code that tries to put the computation of subqueries inside adrh2018-12-24
|/ | | | | | subroutine, and reuse that subroutine if the same subquery is evaluated more than once. Current code does not work for CHECK constraints. FossilOrigin-Name: 6c44838adbe5dc482bc010e91a6dd7a0f777c989f443dd600740d2c783208e0d
* Split the code generation for the RHS of IN operators and for SELECT anddrh2018-12-23
| | | | | | | EXISTS expressions into two separate subroutines, because there is now little commonality between those to functions. This is intended to help make the code easier to read and maintain. FossilOrigin-Name: 2b6494b1509f0d0189f98aa34c990eee99c775ff57826e79b2c5b0a12b4c97ad
* Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparingdan2018-12-21
| | | | | | | statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. FossilOrigin-Name: 25666e3d03950caf753295cdb55df162e07dbcf6840b05875c6e0b127c469ecb
* Further refinements to the sqlite3_normalized_sql() interface. TH3 nowdrh2018-12-10
| | | | | gives 100% MC/DC on that interface. FossilOrigin-Name: c96bf6cca220e363b099455ce35195ce7e89d374a52dc787f56e7b11e587bced
* Refactor the sqlite3_normalized_sql() implementation. This is adrh2018-12-10
| | | | | work-in-progress. There are still issues. FossilOrigin-Name: a4c890b0af9786295e6df05022009d8946550adb873535c610be805c2b7a4083
* Allow the INTO clause of VACUUM to be a text-valued expression.drh2018-12-08
| | | FossilOrigin-Name: af172b53b46759f491f522356e14c5e2374d3f25ec70fbc1e100cadded8f9b22
* Prototype implementation for the VACUUM INTO command.drh2018-12-07
| | | FossilOrigin-Name: 036e3320a4af36c1311b25b2e504b0079c8b33df8ad7b7e5fddad07150e6f87d
* Remove the unused pColHash field from the Table object.drh2018-12-06
| | | FossilOrigin-Name: 3a2c047989facc3461c63a2f9eed412014c951035a80da47c52a70139fb552de
* The sqlite3_normalized_sql() interface should not be transforming quoteddrh2018-12-05
| | | | | | identifier names into wildcards. Fix this, and at the same time simplify the code substantially. FossilOrigin-Name: e8540377ec66fa5f9ae3c93bedb5c094057698199c37fc211f7ea95429e815e4
* Simplifications to the sqlite3_normalized_sql() implementation.drh2018-12-05
| | | FossilOrigin-Name: 94ea6379178e3ff6a0d1d5819ca4ac558bdadb1ca8a3637c797079db7dc0cd61
* Enhance the sqlite3_normalize_sql() interface so that it works even if thedrh2018-12-05
| | | | | | | | | prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. FossilOrigin-Name: 7da617e97eb905cb009c47403786682b911e32a630f266e1c53ea72836fc88b5
* Performance improvement in sqlite3_step() by creating a new mTrace flagdrh2018-12-04
| | | | | for the legacy xProfile pointer that is set by sqlite3_profile(). FossilOrigin-Name: e28584e8bc7b7405380064b60523fa6191f827f74075f6d117eb7732d752ba5e
* Do not allow direct access to internal-use SQL functions such asdrh2018-11-26
| | | | | | sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. FossilOrigin-Name: 6e1330545e7b74fe5f1f20751a3425e2788441485fc07fcb7626e448c72027ce
* Merge fixes from trunk.drh2018-11-10
|\ | | | | FossilOrigin-Name: bf88efcec40036e0805940ff6371643dbc518442457d2bc18c711753607ae36c
| * In the treeview.c module, break out the display of SrcList into a separatedrh2018-11-08
| | | | | | | | | | subroutine, so that it can be invoked while debugging. FossilOrigin-Name: 8c74065f0031274d9bc711d5d53c39aefcfb2b2679811105974a2c7c7a9e1dcb
* | Only allow shadow table to be written from within a recursive SQL call.drh2018-11-06
| | | | | | | | | | | | Omit the SQLITE_PREPARE_SHADOW flag. Some tests are failing because the tests depend on being able to write to shadow tables. FossilOrigin-Name: d890c6582524677666e6f5b5817331dec332ade16b2f744cbb8a3c7dd9b63e21
* | Add enforcement of read-only on shadow tables. This does not currently workdrh2018-11-06
| | | | | | | | | | | | since some virtual tables are attempting to update shadow tables using sqlite3_exec(). FossilOrigin-Name: f79b47c9859de597d5924870752dd7cab89c8f0608e5cceb2281f6ffb2e91930
* | Initial code to make shadow tables read-only to ordinary SQL. The nowdrh2018-11-05
|/ | | | | | | | xShadowName method is added to the sqlite3_module object and is used to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument to sqlite3_prepare_v3() is defined. It is designed to permit writing to shadow tables, but is currently an unused placeholder. FossilOrigin-Name: 31942b3dd3f66eb0d9977bf1cadc2f2d7be7967cce2b55784be0b939dfef1985
* Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE.drh2018-11-03
| | | FossilOrigin-Name: 76094345821246c887a31a234b339d03a78eddbb9fab33b06c3c20797c038349
* Add the SQLITE_DBCONFIG_DEFENSIVE flag.drh2018-11-03
| | | FossilOrigin-Name: af3f29d49359af2291b1d9e06e0db76fd000fbd24b4ac84d2668a0d1322efd83
* Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) fordrh2018-10-31
| | | | | a small performance improvement. FossilOrigin-Name: 4a6ad5190b62020d97a7de02c801544f20b7b98145ceff14af1f2834d3057f9c
* Add support for the SQLITE_PREPARE_NORMALIZED flag and thedrh2018-10-31
|\ | | | | | | | | | | sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. FossilOrigin-Name: 790ea39a6585ea9f4dad9e132e1fb0447ac1558f728196580d2c3edee84823f7
| * Add the sqlite3_normalized_sql() API.mistachkin2018-10-29
| | | | | | FossilOrigin-Name: 592b66e8058dd03a056a036e2606247c9efdb06d15eebe9bcc455f7f55e30ae6
* | Split the SQLITE_WriteSchema flag in two flags, WriteSchema anddrh2018-10-30
|/ | | | | | | SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems when trying to vacuum a corrupt database. With this change, the size of the flags field on sqlite3 must grow from 32 to 64 bytes. FossilOrigin-Name: 4f9878107a54356b7105fa1db7655ee239685d570436f6ad4d4221c9bd829b3d
* Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unlessdrh2018-09-27
| | | | | | the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] FossilOrigin-Name: 322ab1fc613f616e9f07dc94ef74a29572a21cc476d88e97b4ce865500a47b62
* Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0drh2018-09-20
|\ | | | | | | | | | | | | behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. FossilOrigin-Name: 7edd26ed27ed1e7eab603058f7d55f2eac45e7bd1908bfa5f32293611883b157
| * Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour.dan2018-09-20
| | | | | | FossilOrigin-Name: 5acad2e92c11c209bedc6ac8a709595e8070eed028ffc82af61499e5ceaa5e2b
* | Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a newdrh2018-09-20
|/ | | | | | | EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. FossilOrigin-Name: ad130bb86e74e6ce165fdbdce3a19699510f0e62071c1c7923b5a4538d888c7c
* Optimization: when doing an UPDATE on a table with indexes on an expression,drh2018-09-15
| | | | | | do not update the expression indexes if they do not refer to any of the columns of the table being updated. FossilOrigin-Name: a71b101635ed28a4c99734dabb20bd65ef1018c1d63ac143b7321cdb0fafa5d7
* Fix an invalid pointer comparison triggered by renaming a table column whendan2018-09-12
| | | | | there are views with explicit column names in the schema. FossilOrigin-Name: 572de7e4e33562c72cd90790b267ba389370f21ddcaebc4db609fd76ae9b7ada
* Fix multiple issues with the ORDER BY LIMIT optimization. This is thedrh2018-09-08
| | | | | proposed resolution to ticket [9936b2fa443fec03ff25]. FossilOrigin-Name: 206720129ed2fa8875a286266d05b99fb2caf8671e4b74b26a6286a2073fcd8b
* Fix a problem causing SQLITE_OMIT_VIRTUALTABLE builds to fail.dan2018-09-06
| | | FossilOrigin-Name: 18beabc848d0ed7f5c918cbec5372a49915d889d7ffc9f475e6b208407e9ebd2
* Avoid comparing pointer values after the object that they point to has beendan2018-09-05
| | | | | deleted. FossilOrigin-Name: 2ec7e50cbc0e7a4308d51be3c9416229b187a6a8abdd982c154edc256cd6da1f
* Merge fixes and enhancements from trunk.drh2018-09-01
|\ | | | | FossilOrigin-Name: 589186c083ff3af8d5a6d5ad34e1cefea57806ebf3831ea3bf5a48ef1e173140
| * Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objectsdrh2018-08-29
| | | | | | | | | | be destroyed using Mem.xDel. This change results in faster code. FossilOrigin-Name: f48e9feb3fca514e4e586932e6d19a5e34a384204effeba553006dcddf5f13d2
| * Set SQLITE_PTRSIZE to 4 when compiling with xlc on 32-bit AIX.mistachkin2018-08-24
| | | | | | FossilOrigin-Name: d158e5b12eec5b81d54c8f5902a972795423947a21d0212b6cceb2810aa6cc5c
| * Automatically detect when compiling for AArch64 on windows and setdrh2018-08-23
| | | | | | | | | | SQLITE_BYTEORDER to little-endian to avoid compile-time testing. FossilOrigin-Name: ef6729be85ed106212ed23a024d83b85b709207cf287436c0603a21c659f36ad
* | Extend RENAME TABLE to edit triggers and views. Still buggy.dan2018-08-29
| | | | | | FossilOrigin-Name: 01308bae3acf33f78b5bb90892085eab340df093aafc17e6ccf6a7d6cf324897
* | Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() anddan2018-08-21
| | | | | | | | | | sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). FossilOrigin-Name: b9ae9a0a188b82d7066f6ef7d21592889df0a61559e9a0e01819e9d5a92c3f36
* | Minor changes to function tokenExpr() in order to claw back cycles lost to thedan2018-08-21
| | | | | | | | | | rename-column change. FossilOrigin-Name: 479976955ecb27c3e77a280187eaf23722178549e072b34f3183354a27a4e5c3
* | Additional fixes for harmless compiler warnings that are specific to thisdrh2018-08-18
| | | | | | | | | | branch. FossilOrigin-Name: 9d8e73bf71e996b810959ffc0e60de69b5e8ca3301df52f9c35d5e9075921798
* | (no comment)dan2018-08-15
| | | | | | FossilOrigin-Name: e272dc2b1c0edab59a40f32c77c81a3e636937280524161eff5669cb0046ad84
* | Have ALTER TABLE RENAME edit column references in CREATE VIEW statements.dan2018-08-14
| | | | | | FossilOrigin-Name: db829dc1a2d7afa49798a2fd32d1f070185b23e513416e65d8144fda24f23b50
* | Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLEdan2018-08-13
| | | | | | | | | | RENAME COLUMN. FossilOrigin-Name: 5fdb6b0aafba727139e1937ef5950e4434a77f95a10fc46f8010ca2de3922326
* | Fix legacy comments on Token. Begin commenting the new ALTER TABLE RENAMEdrh2018-08-13
| | | | | | | | | | COLUMN code. Fix a memory leak in the sqlite_rename_column() SQL function. FossilOrigin-Name: 32edc8920376aabb84ebe1900eaa9512d23f1b44d6459e4916dc6b07db66e27c
* | Reload the entire schema after renaming a column in order to ensure that thedan2018-08-11
| | | | | | | | | | | | schema for any tables for which parent key definitions were changed are reloaded. FossilOrigin-Name: f4497b0136e9fcb1121a834c86f84eeaf8f1e7d3157d409484e086bcef3487f1