drh
f19a90c569
Improvements to the display of DDL SQL statements in the CLI and in
...
the sqldiff command-line tool in order to close comments and similar
in the case of a corrupt schema, and avoid possible SQL injection
attacks. ANT-2026-9VFH4DZS.
FossilOrigin-Name: 028a92f9c353d3b400551954de2e09c1723076491f79ff767dd24b452654fda8
2026-10-08 18:34:12 +00:00
drh
cb547ab3e9
Update the CLI and the sqldiff utility program to use "COLLATE nocase" when
...
comparing table names in sqlite_schema. Add the --unsafe flag to sqldiff
so that it can attempt to process corrupt database files.
Changes inspired by ANT-2026-YKVW6RS4.
FossilOrigin-Name: 65ec11f05a9ee5b23495427ece76c0550a8ffc28980a8a0c72d556ba0d2290e2
2026-10-02 20:18:07 +00:00
drh
ac5f698ccb
Fix the "sqldiff" utility so that when using the --primarykey option on
...
a table that has a PRIMARY KEY with redundant columns, it does not overflow
the array of PRIMARY KEY column names. Bug discovered by Anthropic as
ANT-2026-Y36XS4M7.
FossilOrigin-Name: 8ffd0be079e4f04d686b9842ff282bb816b422a9301bb162e0437d40f0b9f065
2026-10-02 18:47:27 +00:00
drh
84ead09d94
Harden code that processes Fossil Deltas against OOM and maliciously
...
malformed delta blobs.
[bugs:/info/2026-06-10T07:01:00Z|Bug 2026-06-10T07:01:00Z] and
[bugs:/info/2026-06-10T07:06:43Z|Bug 2026-06-10T07:06:43Z].
FossilOrigin-Name: 67271c31292bc1bddbb5e144c881c85c9f91b3963a1db4bae1f738adab50f7c0
2026-06-10 09:51:33 +00:00
drh
6b4eb6725f
Improved detection of when the alternative windows-compatible main() is
...
needed in the sqldiff.exe utility.
FossilOrigin-Name: e25b849a603cb08ab888641ff324e9aa129391c4792de86a62c55e9caf84c16e
2026-04-27 14:01:23 +00:00
drh
7fa89ea907
Change some sqlite3_realloc() calls into sqlite3_realloc64().
...
FossilOrigin-Name: a391f5646926787fd9a004225ea406b61d20f282c852c0282fd26cada644b601
2026-03-02 15:06:59 +00:00
drh
7f56d23f9c
Work around the Windows "Worst-Fit" bug in the "sqldiff.exe" program.
...
FossilOrigin-Name: f41851587328f8b434e66987765324b7bf5746ecdf3a9f2869000276e0f79401
2025-12-26 20:13:32 +00:00
stephan
da5f813878
Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|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.
...
FossilOrigin-Name: f50c21484d3cac73589da0376c423de39ae8b842218105786c5aa3726e4dcaed
2025-02-27 21:17:55 +00:00
drh
a55901a27c
Port sqldiff over to use sqlite3_stdio.
...
FossilOrigin-Name: 18f784c47d4252bc3696a7e084a1afb9f51f006cf2021292f2103531b8235226
2024-09-24 17:40:54 +00:00
stephan
2e32cbc4a5
sqldiff: fail if the 2nd db argument cannot be opened read-only.
...
FossilOrigin-Name: e8b33525fc2b4d609a7be9acc43fbc66638effaa7b092b48568ded6c53c4f4db
2024-07-12 14:41:16 +00:00
stephan
74d5faec93
sqldiff: if the first db argument does not exist, fail instead of creating an empty db. Resolving that for the second argument is trickier, as discussed in [forum:ec2d429e32 | forum post ec2d429e32].
...
FossilOrigin-Name: 0547ccf776c6054732437bffb8b2fe2ed5194ef817c2593f8cec4a3e2b749720
2024-07-12 13:45:15 +00:00
larrybr
7c6256234c
[forum:/forumpost/c9b8d923d5|Fix sqldiff out-of-bounds char classification error mentioned in the forum.]
...
FossilOrigin-Name: b31933d87301bd93763f0923e0ce06a183700875e6107c9f185faffbd99797d9
2024-05-29 03:35:40 +00:00
drh
4167033eaf
Update the sqldiff.exe utility program so that it uses the sqlite3_str
...
string interface, and so that it does console output using the
ext/consio extension.
FossilOrigin-Name: 4443b7e592da97d1cb1b3b79ed0559452d8057a33aba4d184c2fffbf200e05f5
2024-01-03 12:26:02 +00:00
drh
0a4c31d87b
Fix a harmless compiler warning in the sqldiff.c utility.
...
FossilOrigin-Name: e6390a656713b855258277b65066d2a701cedd05981f1672c9acc2d6dc37d032
2023-09-07 13:48:42 +00:00
drh
675342a5a8
Fix a harmless memory leak in the sqldiff utility.
...
FossilOrigin-Name: 724bc15701f3f647c741b614d4ac4fd98e1cdfe49a85f48c64fb1df5b83811b0
2023-08-22 16:44:33 +00:00
drh
4308b88dcd
Fix an issue with sqldiff reported by
...
[forum:/info/9bd2155bdfae25a7|forum post 9bd2155bdfae25a7].
FossilOrigin-Name: 736a79c1491065f4ee77ce644af0e529e555ca733c78dbd55487d55d4ddbe5bd
2023-05-27 20:08:23 +00:00
drh
a12500005f
Remove stray tab characters from auxiliary source code files.
...
FossilOrigin-Name: e25e33582b69289a2c3a6bc403e3911de22a3b529db1a565efb9f1af01b9e382
2022-02-21 13:44:51 +00:00
larrybr
2c09a8ad6f
For sqldiff, sqlite_schema comparisons must use compound (synthesized) PK.
...
FossilOrigin-Name: 5bdd8466129b8e477c8349847f19f2a5adea3f650cca6dbafa3b835e5a538d09
2021-09-07 20:58:49 +00:00
larrybr
a933ec4c25
Make sqldiff able to compare sqlite_schema tables (for detailed schema differences.)
...
FossilOrigin-Name: 7ff92da9f183bc24a0d93996df771df7a712df1122ad897cb9143cde7d57ef7d
2021-09-07 19:04:42 +00:00
larrybr
1ae057d873
Remove sqldiff --visible-controls option, make it always happen. Add test cases for controls made visible
...
FossilOrigin-Name: ff74c0cc4cefa5271b12ecfff3f2fd4749852d9d1d01f4ae64a07a26decc001b
2021-07-26 19:49:01 +00:00
larrybr
e40875d211
Give sqldiff --visible-controls option to deal with non-graphic text content robustly across platforms
...
FossilOrigin-Name: 68d2373f5d578cf3aff9d1ac4b1ab3ac00b466e94e1eb516523fc7660dfc0549
2021-07-26 18:28:24 +00:00
dan
42470513b7
Fix a problem in sqldiff virtual table hanlding to do with tab and other non-space whitespace characters in the CREATE VIRTUAL TABLE statement.
...
FossilOrigin-Name: 1737e4fdfc9a3628415b234338a68a64cbbaadb23598517761e571ab7ed7ad14
2021-03-17 11:25:42 +00:00
dan
aff1a57f4d
Fix trivial memory leaks in the shell and sqldiff programs.
...
FossilOrigin-Name: 272793e5edc47e431be77d589718a001f2696869e3e15f1371a1890645a995a7
2020-11-17 21:09:56 +00:00
dan
e0404386f2
Fix an inconsequential memory leak in sqldiff. Update the "Sanitize" case in wapptest.tcl to use -fsanitize=address,undefined, and to run more tests.
...
FossilOrigin-Name: 613fb5c2525be77e48bad0a74e8b7bf53489365060fb9c7713a0caddb1820c71
2020-08-14 16:14:40 +00:00
drh
067b92ba00
Extend the refactoring into extensions. Clean up stray newlines.
...
FossilOrigin-Name: 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
2020-06-19 15:24:12 +00:00
drh
ac4b8dea9b
Fix invalid use of unprotected sqlite3_value objects in the sqldiff utility,
...
when using the --changeset option.
FossilOrigin-Name: a8d65214a567eb1afd703ee4d09d398247e060a610b46097a726364db2861001
2018-11-09 23:41:57 +00:00
drh
fc0ec3e5e8
Add new interfaces for accessing the list of SQL keywords:
...
sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check().
FossilOrigin-Name: 7dd34e3776fed90a49344d54a1b68bb59f7957b5a8a1a367087b7cafb63111c1
2018-04-25 19:02:48 +00:00
drh
7eabc44dee
Add the new DO and NOTHING keywords to the keyword lists maintained
...
by various extensions and auxiliary programs.
FossilOrigin-Name: 77a98a0781cd8450e2100111e70526db6a51d7e58e3c505ea87f685388099e82
2018-04-25 17:10:30 +00:00
dan
07d0f15e93
Fix incompatibilities between the "sqldiff --changeset" command and the
...
sessions module. Specifically, allow sessions to process changesets containing
tables with zero operations on them and have sqldiff output the expected
output for tables with multi-column primary keys.
FossilOrigin-Name: 0bb23c48064cc64134697469f3f4d2d3610b9e6c7a0dc54a3c47a00bd6c2a860
2017-05-22 18:09:00 +00:00
dan
12c56aa452
Fix a bug in sqldiff causing it to confuse blobs zero bytes in size with NULL values.
...
FossilOrigin-Name: 264e9c75875796cad773d39b775d4604546bc57a
2016-09-12 14:23:51 +00:00
dan
e5a0cfa161
Have "sqldiff --rbu" ignore rows with NULL values in primary key fields. RBU can't handle such rows and the documentation already says sqldiff ignores them. Because the code now uses "=" instead of "IS" to filter on primary key columns, diffs on virtual tables are faster now too.
...
FossilOrigin-Name: f4ba894a86aa195bcbe2fa69e91cd870ec3fb577
2016-09-01 14:03:28 +00:00
dan
6ff4627d5d
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command.
...
FossilOrigin-Name: ab83d7077da80ddbcf399d0797d79e964dc64f0e
2016-08-11 09:55:55 +00:00
dan
12ca5ac3d2
Fix a problem with upper case module names in the "sqldiff --vtab" command.
...
FossilOrigin-Name: 87e25fc472604b3978811be53991104c665a95e7
2016-07-22 10:09:26 +00:00
drh
5225449e5b
In the sqldiff program, make sure the first argument to the db_prepare()
...
utility function is always a valid format string.
FossilOrigin-Name: 8bb8d886ffa948cd7bc66c8c62da76bce233be2e
2016-07-08 02:14:24 +00:00
dan
9c987a833c
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables.
...
FossilOrigin-Name: 5d0a9d4c45730e47576bc77373fa7075a74051a5
2016-06-21 10:34:41 +00:00
dan
febfe02300
Update the sqldiff tool so that it generates an rbu_count table.
...
FossilOrigin-Name: 1f7afb6e9be9f549a91bf2ab492df15698df89fd
2016-03-19 16:21:26 +00:00
drh
9493cafe6f
Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION
...
FossilOrigin-Name: 65ba2f0b465a1493de6e467f55e0300ac3fb08e1
2016-03-17 23:16:37 +00:00
drh
62e63bb9a9
Fix harmless compiler warnings in sqldiff.c.
...
FossilOrigin-Name: 74808a79ea3194f6cc00084b9dccc380846a6051
2016-01-14 12:23:16 +00:00
drh
06db66f989
Fix the sqldiff utility program so that it works for schemas that have
...
tables with zero-length column names.
FossilOrigin-Name: 64263ccb8f9835c615242de6e28db24f953422fa
2015-11-29 21:46:19 +00:00
drh
05d4ebf6c3
Add the --transaction option to the sqldiff tool.
...
FossilOrigin-Name: 8882d1f3ef0fc53d7c19918c3af43c5bdd79e88f
2015-11-13 13:15:42 +00:00
drh
7450494c50
Fix incorrect WHERE clause in sqldiff, as reported on the mailing list
...
by Youcef Hilem.
FossilOrigin-Name: e0ed4c3e376248dfbf903e4b5845f910824fa6c6
2015-11-09 12:47:04 +00:00
drh
edd2260b40
Enhance the sqldiff utility to deal gracefully with ALTER TABLE ADD COLUMN.
...
FossilOrigin-Name: 7ea036ac37397ed8f6a0fa9f5bfc0994364b53dc
2015-11-07 18:32:17 +00:00
mistachkin
1abbe28884
Fix compiler warnings in the sqldiff tool seen with MSVC.
...
FossilOrigin-Name: 072279d458fbb74a812a9ee723041d6b7c662a88
2015-08-20 21:09:32 +00:00
drh
027616d4ce
Fix compiler warnings and remove unreachable code.
...
FossilOrigin-Name: be190fe7826d157fc5acd84210095725b059e4f6
2015-08-08 22:47:47 +00:00
dan
a9ca8afef5
Add support for "fossil deltas" to RBU and "sqldiff --rbu".
...
FossilOrigin-Name: e26ef165fe2f7524684af0d269d38475ea8b9489
2015-07-31 19:52:03 +00:00
dan
dd688e7970
Fix a problem causing [sqldiff --rbu] to fail on tables for which all columns are part of the PRIMARY KEY.
...
FossilOrigin-Name: 93449e7046d60cad020ca439ded82e759c2e3cd9
2015-07-31 15:13:29 +00:00
dan
994618521c
Add the --rbu switch to the "sqldiff" utility.
...
FossilOrigin-Name: 098bea26da4533d9ad97a85687cca56fb0d764a4
2015-07-30 20:26:16 +00:00
drh
6582ae520f
Try to get recent sqlite3_analyzer and sqldiff tests working for all
...
tested combinations of compile-time options, especially
SQLITE_OMIT_VIRTUALTABLE and SQLITE_OMIT_LOAD_EXTENSION.
FossilOrigin-Name: 07c7d3925cbcf44c2f606c7f016ec56304e0ca24
2015-05-12 12:24:50 +00:00
drh
aa62e48cab
Fix sqldiff.exe so that it always runs in single-thread mode.
...
FossilOrigin-Name: c223910e726131d7b718b556c83df5faa723369d
2015-05-12 00:46:40 +00:00
drh
33aa4dbe44
Fix a bug in --changeset output for sqldiff.exe for floating-point values.
...
Also fix harmless compiler warnings in sqldiff.exe.
FossilOrigin-Name: 9f428530f9a6cb54f0a2fc3e666c38c7c093558a
2015-05-04 15:04:47 +00:00