SQLite

All files named ”ext/expert/sqlite3expert.c”
Login

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

History for ext/expert/sqlite3expert.c

2025-02-27
21:17
[cf4b1e5584] part of check-in [f50c21484d] Approximately 100 typo corrections spanning the whole tree, submitted via forum post 0db9827f0464bc33 and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. (check-in: [f50c21484d] user: stephan branch: trunk, size: 63644)
2024-11-22
12:07
[494a6b7d4e] part of check-in [9ba1c9b505] Fix some harmless scanbuild warnings in the shell. (check-in: [9ba1c9b505] user: drh branch: trunk, size: 63644)
2024-10-21
10:47
[9d87c5eeb8] part of check-in [9f642b3dbc] Avoid using LIKE in sqlite3expert.c, in case "PRAGMA case_sensitive_like" has been used or the "like" UDF replaced by something unexpected. (check-in: [9f642b3dbc] user: dan branch: trunk, size: 63625)
2024-10-20
07:19
[9c5d150940] part of check-in [7a7162293c] Fix another problem with ".expert" and virtual tables. Forum post 49d6a19ec. (check-in: [7a7162293c] user: dan branch: trunk, size: 63528)
2024-10-12
18:00
[b7cbbd7cc1] part of check-in [a201906cd3] Allow the ".expert" command to analyze statements that use built-in virtual tables. (check-in: [a201906cd3] user: dan branch: expert-vtab-fix, size: 63479)
2024-09-24
15:11
[df417a6d91] part of check-in [42bb941584] Fix a memory leak in sqlite3expert.c introduced by [f1d76c86]. (check-in: [42bb941584] user: dan branch: trunk, size: 61188)
11:26
[79d90612e4] part of check-in [f1d76c8636] Avoid an error in sqlite3expert if the database has existing indexes on expressions. (check-in: [f1d76c8636] user: dan branch: trunk, size: 61160)
2024-08-08
15:26
[8b09aeb2b9] part of check-in [123b154ce3] Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: [123b154ce3] user: dan branch: trunk, size: 61008)
2024-03-09
18:41
[c8cea5ff15] part of check-in [7ead022eda] Fix the .expert command in the shell so that it does not leak memory if not followed by SQL and so that it works with reverse_unordered_selects. (check-in: [7ead022eda] user: drh branch: trunk, size: 60768)
2023-10-24
11:06
[90446bb118] part of check-in [54be9af446] Fix various harmless scan-build warnings. (check-in: [54be9af446] user: drh branch: trunk, size: 60753)
09:57
[295ca3b9bd] part of check-in [0c4907ddf9] Fix a harmless compiler warning in the expert extension. (check-in: [0c4907ddf9] user: drh branch: trunk, size: 60728)
2023-10-23
01:55
[4255c8e53d] part of check-in [ee58425904] Clear some picky warnings, sync w/trunk. (check-in: [ee58425904] user: larrybr branch: expert-enhancement, size: 60728)
2023-10-06
12:51
[682eb288a8] part of check-in [f3b3d712d6] Ensure that all fields of static sqlite3_module objects are explicitly initialized, in order to hush-up nuisance compiler warnings. (check-in: [f3b3d712d6] user: drh branch: trunk, size: 57325)
2023-09-25
00:39
[1803b13cbe] part of check-in [8fc2c45558] Cause sqlite3_exper_new() to replicate UDFs and custom collations early enough to appear in virtual column expressions during schema copy. forum post e030aa4b3a (check-in: [8fc2c45558] user: larrybr branch: expert-enhancement, size: 60683)
2023-09-24
22:51
[7b6b40b87a] part of check-in [a4f03c22ec] Make expert changes acceptable to C89. (check-in: [a4f03c22ec] user: larrybr branch: expert-enhancement, size: 60686)
19:00
[b07038a5e3] part of check-in [ac1dc1b6de] Give expert ability to deal with custom collations. (check-in: [ac1dc1b6de] user: larrybr branch: expert-udfs, size: 60470)
2023-09-22
14:20
[295015a891] part of check-in [3406b05b4f] Give expert ability to deal with UDFs. (check-in: [3406b05b4f] user: larrybr branch: expert-udfs, size: 59652)
2022-08-10
15:29
[a912efbad5] part of check-in [5e1b8221c3] Fix handling of columns with names that are SQL keywords in the ".expert" command. (check-in: [5e1b8221c3] user: dan branch: trunk, size: 57274)
2022-07-22
20:24
[48fc9a04cd] part of check-in [57beb700c0] Add experimental 'xShadowName2' method for virtual table modules. (check-in: [57beb700c0] user: mistachkin branch: xShadowName2, size: 57248)
2021-12-16
14:26
[6ca30d73b9] part of check-in [e732c429ba] Improved robustness against OOM in the expert extension. (check-in: [e732c429ba] user: drh branch: trunk, size: 57195)
2021-12-01
11:03
[f09943e849] part of check-in [8c98678254] Add the "static" qualifier to some internal functions in code for various SQLite extensions. (check-in: [8c98678254] user: dan branch: trunk, size: 56773)
2021-10-04
18:21
[921a00823a] part of check-in [1c67f957fc] Fix harmless static analyzer warnings in sessions, rtree, fts3 and fts5. Add the -DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS compile-time option to cause ALWAYS() and NEVER() macros to be omitted from the build. (check-in: [1c67f957fc] user: drh branch: fix-warnings, size: 56766)
2021-09-22
14:43
[bee71c524a] part of check-in [d678ecca02] Fix harmless compiler warnings. (check-in: [d678ecca02] user: drh branch: trunk, size: 56226)
13:43
[73a57faa14] part of check-in [56da0e9c03] Fix harmless compiler warnings in shell.c.in, and a compiler warning in sqlite3expert.c which is a real error, though also harmless. (check-in: [56da0e9c03] user: drh branch: trunk, size: 56166)
2021-09-21
20:03
[396c9003d6] part of check-in [4a3f98ad0d] Fix .expert name collision bug reported at https://sqlite.org/forum/forumpost/05e6f32984561f57?t=h (check-in: [4a3f98ad0d] user: larrybr branch: trunk, size: 56164)
2021-07-08
12:12
[fdcd3bd969] part of check-in [b1e0c22ec9] Fix an issue with the SQLite Expert extension when a column has no collating sequence. Forum post 78165fa250. (check-in: [b1e0c22ec9] user: drh branch: trunk, size: 54694)
2020-12-11
14:22
[de51b187c6] part of check-in [c2ae7ba6f8] Fix the expert extension so that it handles generated columns correctly. (check-in: [c2ae7ba6f8] user: dan branch: trunk, size: 54537)
2020-12-02
20:07
[216e250acc] part of check-in [c24f13448b] Prevent potential segfault in the sqlite-expert idxPopulateStat1 context cleanup code. (check-in: [c24f13448b] user: mistachkin branch: trunk, size: 54536)
2020-09-17
17:01
[2778d9f06b] part of check-in [c666c85a43] Fix a problem in sqlite-expert causing it to ignore equality constraints on the second or subsequent columns of a multi-column PRIMARY KEY. (check-in: [c666c85a43] user: dan branch: trunk, size: 54510)
2020-07-29
16:18
[121eb61866] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 54438)
2020-06-19
15:24
[b5eae75862] part of check-in [7a876209a6] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209a6] user: drh branch: trunk, size: 54438)
2020-05-21
19:13
[ac008c72c0] part of check-in [0ccea80092] Avoid another potential OOB read in sqlite3expert.c. (check-in: [0ccea80092] user: dan branch: trunk, size: 54438)
2020-05-15
18:48
[6e59d97334] part of check-in [7cf93dc55c] Update code in sqlite3expert.c to account for the fact that "-- TRIGGER xyz" VM comments are now omitted for some builds. (check-in: [7cf93dc55c] user: dan branch: trunk, size: 54384)
16:19
[fbcf97d9d0] part of check-in [5e1eb0fa3a] Fix another build problem for SQLITE_OMIT_VIRTUALTABLE builds. (check-in: [5e1eb0fa3a] user: dan branch: trunk, size: 54337)
2018-11-05
23:01
[3da865f228] part of check-in [31942b3dd3] Initial code to make shadow tables read-only to ordinary SQL. The now 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. (check-in: [31942b3dd3] user: drh branch: read-only-shadow, size: 54338)
2018-05-29
14:29
[89b7b59be6] part of check-in [ce9b756f09] More minor changes to test scripts. (check-in: [ce9b756f09] user: dan branch: trunk, size: 54286)
2018-05-02
19:42
[95fdee74be] part of check-in [dab5e52948] More test case updates. Tests are all running now. (check-in: [dab5e52948] user: drh branch: rework-EQP, size: 54247)
2018-01-17
13:15
[1dfa561e64] part of check-in [bfbeffab77] Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI. (check-in: [bfbeffab77] user: drh branch: trunk, size: 54284)
2018-01-09
18:31
[55ea02e9fc] part of check-in [f6355970f0] Fix a potential crash in sqlite3expert.c caused by a missing sqlite3_reset() call. (check-in: [f6355970f0] user: dan branch: trunk, size: 54111)
14:30
[9f1b0a5ea3] part of check-in [ba967ad2e3] Do not attempt to build the code in ext/expert/sqlite3expert.c if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: [ba967ad2e3] user: dan branch: trunk, size: 54081)
2018-01-08
17:34
[9d352d8693] part of check-in [7a93dd784b] Fix problems in the sqlite3expert.c code revealed by -fsanitize. (check-in: [7a93dd784b] user: dan branch: trunk, size: 53999)
2017-12-22
00:52
[252f3129f1] part of check-in [5c1fe66660] Modify the new sqlite3_vtab_collation() interface so that it takes a pointer to the sqlite3_index_info object passed into xBestIndex rather than an sqlite3 connection pointer, which the xBestIndex method might not have access to. (check-in: [5c1fe66660] user: drh branch: trunk, size: 53976)
2017-12-21
18:23
[be6452d15a] part of check-in [fffc7685d1] Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. (check-in: [fffc7685d1] user: drh branch: trunk, size: 54005)
2017-05-03
12:50
[6ed4e84a06] part of check-in [d8254047b3] Get sqlite3_expert building on Windows. (check-in: [d8254047b3] user: drh branch: schemalint, size: 54002)
12:15
[87bac32f90] part of check-in [da15752dcc] In sqlite3expert.c, do not copy the schema for virtual tables. Updates to makefiles to make building easier. (check-in: [da15752dcc] user: drh branch: schemalint, size: 53973)
2017-04-20
17:35
[4bc1820a70] part of check-in [b1533bc455] Merge latest trunk changes into this branch. (check-in: [b1533bc455] user: dan branch: schemalint, size: 54072)
16:43
[fde366d8c1] part of check-in [8e57c31340] Speed this branch up a bit by filtering before the virtual table layer when sampling user data. (check-in: [8e57c31340] user: dan branch: schemalint-failure, size: 53789)
16:18
[403b261dbe] part of check-in [4577fea5cd] Avoid adding INTEGER PRIMARY KEY columns to candidate indexes. (check-in: [4577fea5cd] user: dan branch: schemalint, size: 51377)
16:08
[68acd26b05] part of check-in [c62e358243] Avoid creating a temp table in the user database in the sqlite3_expert code. Trouble is, this makes sampling for stat1 data much slower. (check-in: [c62e358243] user: dan branch: schemalint-failure, size: 54451)
09:54
[af3b336f83] part of check-in [c69c3e21db] Add an option to generate stat1 data based on a subset of the user database table contents to sqlite3_expert. (check-in: [c69c3e21db] user: dan branch: schemalint, size: 51303)
2017-04-18
20:10
[713388c6c4] part of check-in [a157fcfde5] Have sqlite3_expert_analyze() populate the sqlite_stat1 table before running queries through the planner for the second time. (check-in: [a157fcfde5] user: dan branch: schemalint, size: 48475)
09:04
[8befe20906] part of check-in [ff4976da66] Fix sqlite3_expert handling of triggers on views. (check-in: [ff4976da66] user: dan branch: schemalint, size: 40602)
2017-04-17
17:03
[f9f41caf6d] part of check-in [159e8022a9] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022a9] user: dan branch: schemalint, size: 40286)
2017-04-15
16:52
[d73a4813af] part of check-in [2e6308798a] Fix problems with handling constraints on the rowid column in sqlite3expert.c. (check-in: [2e6308798a] user: dan branch: schemalint, size: 35563)
14:16
[d4a0a45be5] part of check-in [0cd75a872c] Fix memory leaks in the code on this branch. Make use of the sqlite3_index_constraint.usage field. Do not try to handle ORDER BY terms with explicit COLLATE clauses - they don't get passed to the vtab layer anyway. (check-in: [0cd75a872c] user: dan branch: schemalint, size: 35495)
2017-04-14
19:41
[9473b011d7] part of check-in [3bb6585004] Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). (check-in: [3bb6585004] user: dan branch: schemalint, size: 37776)
2017-04-11
17:43
[2b22a5fbd0] part of check-in [0c45c5eb9f] Add header comments to the API functions in sqlite3expert.h. Include a list of all candidate indexes in the report output by the sqlite3_expert program. (check-in: [0c45c5eb9f] user: dan branch: schemalint, size: 31702)
2017-04-10
20:00
[8bcb83b372] part of check-in [9318f1b9ed] Add ext/expert/README.md. (check-in: [9318f1b9ed] user: dan branch: schemalint, size: 31489)
16:13
[b87f13e90b] part of check-in [5dd9831721] Changes to allow the code in sqlite3expert.c to be tested directly (via the API in sqlite3expert.h) instead of by invoking the sqlite3_expert application. Fix memory leaks and other problems. (check-in: [5dd9831721] user: dan branch: schemalint, size: 29483)
2017-04-08
18:56
[864ebebab5] part of check-in [be0deff940] Rename shell6.test to expert1.test. Have it invoke the sqlite3_expert binary if it is present. (check-in: [be0deff940] user: dan branch: schemalint, size: 29074)
17:41
[c0e3ee7555] part of check-in [bf10e68d9e] Use hash tables instead of in-memory database tables for a few purposes in sqlite3expert.c. (check-in: [bf10e68d9e] user: dan branch: schemalint, size: 29073)
2017-04-07
20:14
Added: [75ee320cf3] part of check-in [305e19f976] Refactor code to suggest indexes from the shell tool into an extension in ext/expert. Unfinished. (check-in: [305e19f976] user: dan branch: schemalint, size: 31176)