aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
Commit message (Collapse)AuthorAge
...
| * Logic is in place to handle multiple ON CONFLICT clauses, but it does not work.drh2020-12-11
| | | | | | | | | | | | Any use of ON CONFLICT will likely lead to memory faults. This is an incremental check-in to save my place. FossilOrigin-Name: 155142314feb007d526f8f67723636fd50dc52d1cd4d3a67dd93b105c9d5c2be
| * Use an iterator for the index loop in sqlite3GenerateConstraintChecks().drh2020-12-10
| | | | | | | | | | | | The idea is that this iterator can be enhanced to traverse the indexes in any order, as required by multi-index UPSERT. FossilOrigin-Name: 64a4a91ecc5dcde3fa07d3cf038c74b9ede63d36628ecfb35203a9dfbbfe113c
| * For upsert, the constraint check code generator uses a copy of the index listdrh2020-12-09
| | | | | | | | | | for the target table, which can potentially be reordered. FossilOrigin-Name: 3194c00c2c6a32bdfd5acc9fda5b38ae131d20cd3b7aea8512a41b2e76808f6a
| * Initialize all terms in the ON CONFLICT clause stack.drh2020-12-09
| | | | | | FossilOrigin-Name: 5e683fd1cbde53f37cf8a2b1e981191e2b29e3376db554691767f33c37c7547e
* | Better integrate the changes on this branch with OP_Insert and OP_IdxInsert.dan2020-12-10
| | | | | | FossilOrigin-Name: 101cef14910d6e865a94bc870aed599321b893188062a9a61d70a9434992cf23
* | Transfer large index or WITHOUT ROWID records between b-trees when vacuuming ↵dan2020-12-09
| | | | | | | | | | without loading them into memory. FossilOrigin-Name: dfd4ca6891a893d0e9551689954d3e79114d5565f8a5264f96ad1d64fe1d6280
* | Experimental changes to vacuum to avoid loading large records entirely into ↵dan2020-12-08
|/ | | | | memory. Currently only works in limited cases only - for rowid tables when the page-size does not change. FossilOrigin-Name: c90e063ca9ddcdd1e9f1a2e25a3f7d6e7ee798373ad8acf65b90536b0a124c0d
* Fix a couple of unreachable branches.drh2020-08-28
| | | FossilOrigin-Name: f2d26f2b11317abd4f993faa1a4df7afcd1a2d4e448ecc69ca05e9ebf102cd62
* Remove more unnecessary sqlite3GetVdbe() calls, replacing them with assert()s.drh2020-08-15
| | | FossilOrigin-Name: b7dc932197665f0ebde3ffb8f0785c22da07ce307cfd5f0eab69e86e4b38fcde
* Avoid unnecessary calls to the sqlite3GetVdbe() routine. Add assert()drh2020-08-15
| | | | | statements to prove each call is unnecessary. FossilOrigin-Name: 86d3790caf92e9cb7a9aaaa110f309b4b6945ac30cfd53fc3e5aa1ec3075ada5
* Fix harmless compiler warnings that surface in newer versions of GCC.drh2020-08-10
| | | FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
* Fix signed/unsigned compiler warnings.drh2020-07-29
| | | FossilOrigin-Name: 1d69eee8b085d514f442840346f001b4785f8ec64f5ba66943e9577b26e2e29c
* Further refactoring of the schema table name.drh2020-06-19
| | | FossilOrigin-Name: 9536fa0ae0c1ae6e2e98d2fa11e5acda7f3c9b8ca5061b6f7f8cae63a11d936b
* Improved bytecode comment.drh2020-05-23
| | | FossilOrigin-Name: 9224f1543b51a674ad6d7db8e90d97e1b0d1abe68bed3417820ebd09d27270f9
* Further changes to ensure that expressions held in table and index definitionsdrh2020-03-10
| | | | | do not get passed down into code generator logic where they might be modified. FossilOrigin-Name: f45f5de000834da5b23cdcf12c3f0e3073287756afe06bdb77b95fb65b250258
* There is no need to keep track of the number of changed rows or of thedrh2020-02-06
| | | | | last-insert-rowid while running VACUUM. FossilOrigin-Name: a8a7c05b16f6c73ac55c359fbf62cae4a76eb0d105a3c53e9f47cede9fd85916
* Cosmetic change to the xfer-optimization to put the OP_RowData opcode closerdrh2020-02-03
| | | | | | to the corresponding OP_Insert opcode. This makes it slightly easier to read and understand the code. FossilOrigin-Name: 0ea2dbfc9088561d62c3456803cb08d357e4e60f1d21f6ed37315564be4957d3
* On an INSERT or UPDATE, perform affinity conversions on new data prior todrh2020-02-01
| | | | | running CHECK constraints. Ticket [86ba67afafded936]. FossilOrigin-Name: 1d4f86201dab9a22df9ef8175a7ebf3640e97cdb23a06fb454b4c69bfda3a9af
* Minor change for compatibility with the s390 architecture.drh2020-01-28
| | | FossilOrigin-Name: 04885763c4cd00cbca26d048f2b19316bfc93e8edebeceaa171ebfc6c563d53e
* Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options.drh2020-01-17
| | | | | Update compile-time option testing. FossilOrigin-Name: 7584e4b649d57767aac3906da6b06549d5b772aaa69f469c623ae5da834d54d5
* Merge the latest enhancements from trunk.drh2020-01-02
|\ | | | | FossilOrigin-Name: bd57e6d923d3b04f0a07aaf18bf389d2b2b7efc7c57e8cb37e6ef910662d8397
| * Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.drh2020-01-02
| | | | | | FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
| * Issue OP_ReleaseReg opcodes against the array of registers used to computedrh2020-01-01
| | | | | | | | | | index records after the index record has been computed. FossilOrigin-Name: e3330861b4deab7c7cc09ad8b936d633c600b9fb4e274801efeaaf94e5c860b4
* | Merge recent enhancements from trunk.drh2019-12-31
|\| | | | | FossilOrigin-Name: 39d55579376906f212271ce9b2d367e3ad029fb173f22c7253312b467970208a
| * Do not allow triggers that run as part of REPLACE conflict resolutiondrh2019-12-29
| | | | | | | | | | | | | | during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] FossilOrigin-Name: db4b7e1dc399c1f16b827ac087aa37c0815f4b2f41f1ffad59963eead2ab5562
| * When an INSERT is receiving content from a SELECT, run an OP_ReleaseReg opcodedrh2019-12-28
| | | | | | | | | | | | at the top of each iteration of the loop in order to prevent spurious OP_SCopy misuse complaints. Ticket [de4b04149b9fdeae] FossilOrigin-Name: 6afadd3b3a40b0ef29fd14fb24c2a4b9479483e5f8b9125ce02d8daae662207f
| * Recompute the values for all generated columns after drh2019-12-28
| | | | | | | | | | | | NOT NULL ON CONFLICT REPLACE constraints fire. Tickets [37823501c68a09f9] and [5fbc159eeb092130]. FossilOrigin-Name: 4cc12c18860bc4801a407cf45e88e23d3d40391f01a461fbac2cac5f102100e1
| * Ensure that all ON CONFLICT REPLACE indexes are sorted to the end of the listdrh2019-12-15
| | | | | | | | | | | | | | | | of indexes for a table, even for weird cases where the same UNIQUE constraint occurs twice with the ON CONFLICT REPLACE clause only on the second one. This avoids an out-of-order contraint processing problem that can arise due to the optimization of check-in [469a62ca33081854]. FossilOrigin-Name: 1e3918ca2f2c1cfcfa44249b1d7b847d52cbb8d302a8d4a335c090cfdf22d7a1
* | Change the name of the Expr.a.zName field to zEName, so that it has a namedrh2019-12-12
|/ | | | | | that is distinct from other fields and variables and is hence easier to grep for. FossilOrigin-Name: d3783357f8fa76c42a86f12b214522f0388c37773c36ab8c5ce0623abbc4436a
* Set the affinity of regular columns prior to computing the values ofdrh2019-12-10
| | | | | generated columns. Ticket [d7c3f125c925c522] FossilOrigin-Name: d47d66e3d360d8aa6203a855228d2bc40d9a00d69c15f5066b7632d8fb1ed2cc
* Do not allow UPSERT of a view.drh2019-12-06
| | | FossilOrigin-Name: ebf897e861c19e214c57f1e73841b505182202cc8d7d39e24d5a1e5625e26b4a
* Fix an out-of-bounds array reference in the generated column logic.drh2019-11-21
| | | | | Problem discovered by valgrind. FossilOrigin-Name: a0ab42f779b9a96f4e43879210dfaba8fa593de77fc0ec0e2e6f116d9301ea59
* Fix the xferCompatibleIndex() function so that it recognizes that a PRIMARY KEYdrh2019-11-07
| | | | | | index for a WITHOUT ROWID table is different from a UNIQUE constraint index on the primary key. Ticket [302027baf1374498] FossilOrigin-Name: 34f64f11ca481996b1ff1686bdc5e278946635b6856cd1fe2355fce8e298e0f8
* Change the way generated columns are computed so that no column is computeddrh2019-11-06
| | | | | inside branch code that might not be taken. Ticket [4fc08501f4e56692] FossilOrigin-Name: 9e07b48934e9a972dcf62e3538b3b21ffa044c553feba0441675ac0bbe13bcb2
* Fix the handling of NOT NULL constraint violations for generated columns indrh2019-11-06
| | | | | a REPLACE statement. Ticket [2399f5986134f79c] FossilOrigin-Name: 77b1c90add514050fe62f22751362fecacd99f9775346cffc60e09c326e64e10
* Add a missing translation from table column numbers to storage table numbersdrh2019-10-29
| | | | | | while processing constraints on an UPDATE statement. Ticket [9621dd78a024d07a] FossilOrigin-Name: 361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
* Remove code from the constraint checker that generates virtual column valuesdrh2019-10-26
| | | | | | | with the incorrect time. Turns out the the regular code for all other columns works correctly and so the incorrect special-case code is not actually needed. Fix for ticket [3ea175512444b0d1]. FossilOrigin-Name: 5b4c0f2ddc6f324e23bbde0ee3d1ab672cfe8ab5044c9b693f4c33cdd75c211e
* Remove redundant code resulting from a merge error on the previous check-in.drh2019-10-26
| | | FossilOrigin-Name: 713fe86b8c9f3c9ef8af952019e99ba2f4741326226264de6a66baaeb1803d2a
* Add support for generated columns.drh2019-10-26
|\ | | | | FossilOrigin-Name: b855acf1831943b3914491ed0bc333131321930cab480a5281012a3aebbba492
| * Merge fixes from trunk.drh2019-10-24
| |\ | | | | | | FossilOrigin-Name: 4ec57d88415fa4ea2e99d4a5671074ec6829d6824bc8509d5ae9c978d47d1419
| * | Minor adjustments for clarity and test coverage.drh2019-10-23
| | | | | | | | | FossilOrigin-Name: 30065716878d4058e75eb510b0b27b68e5193d04625eb173210de8061f20f499
| * | Fix incorrect arguments to testcase() macros.drh2019-10-23
| | | | | | | | | FossilOrigin-Name: 812467fbf04ce00228a8381a5eee471e4e35cc63184a4538129fcd70b7cec979
| * | Take the declared column time into account when computing the values fordrh2019-10-22
| | | | | | | | | | | | | | | generated columns, and apply appropriate affinity. FossilOrigin-Name: 9e04ba22dfce3998e61331ac229ff543ecccc590284c9dd5def21efbe594fba0
| * | New testcase() macros. Fix a problem with INSERT when the IPK is to thedrh2019-10-22
| | | | | | | | | | | | | | | right of generated columns. FossilOrigin-Name: 412799fc5527aaca987e4e04b8a4f774dcdb70fb80e3a126dc3a26d48a66935c
| * | Merge changes on trunk into the generated-columns branch.drh2019-10-22
| |\ \ | | | | | | | | FossilOrigin-Name: ba123b8c201053d8f9387de38f3513b06f7721b28d79fab8489f96d336105117
| * | | Changes to the INSERT logic to make it simpler and faster and so thatdrh2019-10-21
| | | | | | | | | | | | | | | | | | | | it works with generated columns and BEFORE triggers. FossilOrigin-Name: bc368cb090376d33d3844e3689c4f6bd19eed758e39b878ee67fef93b1c839ea
| * | | Work toward getting generated columns to work with triggers. Still moredrh2019-10-19
| | | | | | | | | | | | | | | | | | | | work to do in this area. FossilOrigin-Name: 932a37275d7e932f8237d32c8fc6087ed8cd342fe01ef2f7a43c7237ab84c9ac
| * | | Add testcase macros.drh2019-10-19
| | | | | | | | | | | | FossilOrigin-Name: fb9c9bb284d441bd7aa34c87b6fd8ce57d036c17623d82354154fc6286bdd134
| * | | Refactor names of column index transformation functions, for clarity.drh2019-10-19
| | | | | | | | | | | | | | | | | | | | Get generated columns working with ALTER TABLE RENAME COLUMN. FossilOrigin-Name: 27ab41c9102e7801ff829488fc123a8040da008bef373d6704efbe2f93e1da90
| * | | Merge trunk enhancements into the generated-columns branch.drh2019-10-18
| |\ \ \ | | | | | | | | | | FossilOrigin-Name: 85bc4524d76999080faa4474e8880d2b6a2ac3a7f6a76239af4de1a42f8138c8