/ Check-in [a7268769]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a72687699ba2af2e7383be7371d4121750c7e34f
User & Date: drh 2014-02-17 23:52:13
References
2014-05-23
10:15 New ticket [e9654505] Inifinite loop in INSERT statement.. artifact: cc3683f6 user: drh
Context
2014-02-18
01:07
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. check-in: 915f6f1c user: drh tags: trunk
2014-02-17
23:52
Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs. check-in: a7268769 user: drh tags: trunk
22:40
Add logic to do test coverage measurements on the VDBE code. Closed-Leaf check-in: ce184c7b user: drh tags: insert-optimization
01:13
Fix the VDBE_PROFILE logic. Add a script to process the output file. check-in: 7adb3da2 user: drh tags: trunk
Changes
Unified Diffs Side-by-Side Diffs Patch

Changes to src/alter.c.

Changes to src/analyze.c.

Changes to src/build.c.

Changes to src/delete.c.

Changes to src/expr.c.

Changes to src/fkey.c.

Changes to src/insert.c.

Changes to src/main.c.

Changes to src/pragma.c.

Changes to src/select.c.

Changes to src/sqlite.h.in.

Changes to src/sqliteInt.h.

Changes to src/trigger.c.

Changes to src/update.c.

Changes to src/vdbe.c.

Changes to src/vdbe.h.

Changes to src/vdbeaux.c.

Changes to src/vdbeblob.c.

Changes to src/where.c.

Changes to test/insert.test.

Changes to test/insert4.test.