/ File History
Login

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

History of src/alter.c

2019-12-05
14:31
Fix a problem in ALTER TABLE that could occur if an index, view or trigger in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. file: [c49548d0] check-in: [7e5ad8e0] user: dan branch: trunk, size: 54414
2019-12-04
15:08
Ensure that an ALWAYS() in the rename logic really is always true, even for faulty inputs. file: [8980e4d8] check-in: [54410f0e] user: drh branch: trunk, size: 54290
14:26
Fix an assert() failure that could occur in ALTER TABLE code when the schema contains a view that uses a CTE. file: [3101da36] check-in: [75b04a4b] user: dan branch: trunk, size: 54251
2019-11-16
13:51
Break out the test for writable shadow tables into a separate subroutine. file: [01730734] check-in: [8ad34d36] user: drh branch: defensive-improvements, size: 54220
2019-10-24
01:04
Do not allow ALTER TABLE ADD COLUMN for a STORED column. file: [0fdf14a1] check-in: [42fc08bc] user: drh branch: generated-columns, size: 54247
2019-10-19
13:29
Refactor names of column index transformation functions, for clarity. Get generated columns working with ALTER TABLE RENAME COLUMN. file: [fa7486bf] check-in: [27ab41c9] user: drh branch: generated-columns, size: 54129
2019-10-16
20:05
ALTER TABLE is able to add a VIRTUAL column. file: [8a4317e2] check-in: [120c6b78] user: drh branch: generated-columns, size: 53961
2019-10-11
11:21
Merge the 3.30.1 changes into reuse-schema. file: [2cd3adae] check-in: [eff7cd7f] user: drh branch: reuse-schema-3.30, size: 53822
2019-10-09
15:00
Change sqlite3SelectDup() to always return NULL if an OOM has occurred. file: [83cf5973] check-in: [01ba4641] user: drh branch: trunk, size: 53794
2019-10-07
18:43
Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables. Fix for [8fe768e9]. file: [5773b286] check-in: [31e85fbb] user: dan branch: trunk, size: 53836
2019-08-13
15:22
Merge latest trunk changes with this branch. file: [deddf439] check-in: [5b4689d8] user: dan branch: reuse-schema, size: 53795
2019-08-12
00:08
Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. file: [5c3031e4] check-in: [724f4df9] user: drh branch: trunk, size: 53809
2019-07-08
21:32
Merge recent trunk enhancements into the reuse-schema branch. file: [0042c5ab] check-in: [fae92fee] user: drh branch: reuse-schema, size: 53782
12:44
Comment improvements. No changes to code. file: [3c5b9bdf] check-in: [b0629132] user: drh branch: tkt9b78184b-alt, size: 56364
2019-07-02
20:10
Have ALTER TABLE detect and error out for the case where renaming a column changes a the interpretation of a double-quoted identifier in the database schema from an SQL literal to a column reference. file: [bb45a2df] check-in: [5dbb0734] user: dan branch: tkt9b78184b-alt, size: 56219
2019-06-15
15:21
Ensure that sqlite3RenameExprUnmap() does an unmap of the result set alias names in subqueries when ALTER TABLE fails because of a syntax error in a trigger. file: [c1b5e563] check-in: [d3b6f166] user: drh branch: trunk, size: 53796
2019-06-11
16:43
Mark an unreachable branch with an ALWAYS macro. file: [12f8c9a7] check-in: [d4755aca] user: drh branch: trunk, size: 53563
12:03
Have the ALTER TABLE code handle the case where an entire expression that includes a sub-select is excluded from a view, trigger or index. file: [29fcfd07] check-in: [f2c8179f] user: dan branch: trunk, size: 53501
2019-05-14
22:25
Merge all the latest trunk enhancements into the reuse-schema branch. file: [7b060214] check-in: [018f3199] user: drh branch: reuse-schema, size: 53112
2019-04-19
16:34
Fix a problem with renaming a table that starts with "sqlite". Fix for ticket [f00d7b65]. file: [85b41586] check-in: [a2ead8aa] user: dan branch: trunk, size: 53126
2019-03-20
16:03
Merge latest trunk changes into this branch. file: [7516a6e3] check-in: [4cd20ca6] user: dan branch: reuse-schema, size: 53022
2019-03-15
16:17
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a]. file: [25f54387] check-in: [0f2129f5] user: dan branch: trunk, size: 53036
2019-02-18
18:16
Ensure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connection to load all schemas into memory. file: [669e18e9] check-in: [88cbf54e] user: dan branch: reuse-schema, size: 52951
2019-02-05
19:51
Merge latest trunk into this branch. file: [995b37de] check-in: [c089cc4f] user: dan branch: reuse-schema, size: 52933
2019-01-18
16:06
Fix a fairly obscure problem allowing an "ALTER TABLE RENAME col TO ..." statement to modify the schema in such a way as to break a reference within a trigger program. file: [cb691d6c] check-in: [64bec9e6] user: dan branch: trunk, size: 52947
2019-01-13
00:58
Move a local variable declaration into the outermost scope in which it is used. This fixes an ASAN warning. file: [8ac946d8] check-in: [ac3b6021] user: drh branch: trunk, size: 52915
2019-01-09
02:02
Enhance the ALTER TABLE RENAME COLUMN feature so that it works on tables that have redundant UNIQUE and/or PRIMARY KEY constraints. Fix for ticket [bc8d94f0fbd633fd9a051e3] file: [9dda6a9c] check-in: [f09aa324] user: drh branch: trunk, size: 52921
2018-12-18
20:31
In defensive mode, do not allow shadow tables to be renamed using ALTER TABLE. file: [082286f8] check-in: [23e200da] user: dan branch: trunk, size: 52806
2018-12-06
01:53
Fix a potential NULL pointer dereference that can occur in ALTER TABLE following an OOM. Test case in TH3. file: [87c9057f] check-in: [ea50815b] user: drh branch: trunk, size: 52643
2018-12-05
13:49
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers. file: [80747854] check-in: [f44bc7a8] user: dan branch: trunk, size: 52551
2018-11-26
18:09
Do not allow direct access to internal-use SQL functions such as sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. file: [f886160d] check-in: [6e133054] user: drh branch: trunk, size: 52043
15:00
Minor comment enhancement in alter.c. No changes to code. file: [a61ed147] check-in: [12920bcb] user: drh branch: trunk, size: 52385
2018-11-20
16:02
Consolidate the two sqlite3SchemaToIndex() routines. file: [f4ba663e] check-in: [dfab7170] user: dan branch: reuse-schema1, size: 52399
2018-11-19
20:41
Fix a problem with virtual tables in shared schemas. file: [3e283b57] check-in: [84be9220] user: dan branch: reuse-schema1, size: 52407
2018-11-17
18:45
Merge latest trunk changes into this branch. file: [ab7f9763] check-in: [9fdd1868] user: dan branch: reuse-schema1, size: 52165
2018-11-16
17:04
Fix further REUSE_SCHEMA issues. file: [486cfbe8] check-in: [9780829a] user: dan branch: reuse-schema1, size: 52148
2018-11-09
20:04
When a table is renamed using "ALTER TABLE RENAME TO", update any REFERENCES clauses that refer to the table, unless "PRAGMA legacy_alter_table" is true and "PRAGMA foreign_keys" is set to false (i.e. so that when "PRAGMA legacy_alter_table" is set behaviour is still compatible with versions 3.24 and earlier). file: [61c1ace4] check-in: [ae9638e9] user: dan branch: trunk, size: 52155
2018-10-08
18:58
Merge latest trunk changes into this branch. file: [59fa3409] check-in: [2ac72114] user: dan branch: reuse-schema, size: 52124
2018-10-06
14:33
Ensure each ALTER TABLE statement makes just a single SQLITE_ALTER_TABLE call to the authorizer function. file: [27281c6e] check-in: [dac28547] user: dan branch: alter-auth-callbacks, size: 52609
2018-10-03
18:05
Add an ALWAYS on an unreachable branch in the ALTER TABLE logic. file: [bcb67339] check-in: [ebcd4523] user: drh branch: trunk, size: 52138
2018-10-01
07:04
Fix a problem with ALTER TABLE commands when the schema features an INSTEAD of trigger that uses NEW.* or OLD.*. file: [b929e4da] check-in: [c52f457e] user: dan branch: trunk, size: 52008
2018-09-20
20:15
Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 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. file: [65fc93f6] check-in: [7edd26ed] user: drh branch: trunk, size: 51893
19:02
Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new 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. file: [e561794b] check-in: [ad130bb8] user: drh branch: trunk, size: 51539
17:21
By default, make all "ALTER TABLE RENAME" statements executed within a virtual table xRename() method exhibit the legacy behaviour. file: [70dd115e] check-in: [71947337] user: dan branch: legacy-alter-table, size: 51887
08:28
Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour. file: [5bca9ae0] check-in: [5acad2e9] user: dan branch: legacy-alter-table, size: 51887
2018-09-19
20:14
Reduce the size of Expr to 64-bytes. This works somewhat, but there are test failures. More importantly, the size reduction from 80- to 64-bytes has not lowered the schema memory usage, but it has made the code a little bigger and a little slower. So the initial evidence is that this Expr refactoring experiment is not working... file: [3a859149] check-in: [24b0f66a] user: drh branch: expr-simplify, size: 51609
2018-09-17
13:38
Minor modification to the fix on this branch to avoid adding extra conditional compilation macros. file: [2269dd2f] check-in: [4d8be404] user: dan branch: tkt-b41031ea, size: 51533
2018-09-12
15:51
Restrict the scope of internal-use functions in alter.c. file: [3800f24c] check-in: [4396914f] user: drh branch: trunk, size: 51466
08:51
Fix an invalid pointer comparison triggered by renaming a table column when there are views with explicit column names in the schema. file: [b04e36e2] check-in: [572de7e4] user: dan branch: trunk, size: 51445
2018-09-07
18:52
Add assert() and ALWAYS() to identify two unreachable branches. file: [eed84737] check-in: [8fa254aa] user: drh branch: trunk, size: 50970
15:50
Fix a problem with renaming a non-temp table that has at least one temp trigger and shares its name with a temp table. file: [54146be0] check-in: [ceb60bd7] user: dan branch: trunk, size: 50962
11:51
Minor fixes for problems revealed by releasetest.tcl. file: [525d74d3] check-in: [1a8aedc3] user: dan branch: trunk, size: 50919
2018-09-06
17:47
Fix a problem in ALTER TABLE with SQLITE_OMIT_VIRTUALTABLE builds. file: [b4c7e8f7] check-in: [fa835145] user: dan branch: trunk, size: 50847
16:01
Ensure that the tbl_name column in the sqlite_temp_master table is updated correctly as part of a RENAME TABLE operation. file: [9088b817] check-in: [ffecfca5] user: dan branch: alter-table-rename-column, size: 50852
2018-09-05
14:36
Avoid comparing pointer values after the object that they point to has been deleted. file: [900f64f0] check-in: [2ec7e50c] user: dan branch: alter-table-rename-column, size: 50312
08:28
Fix minor code issues in alter.c. file: [03195c21] check-in: [18ba35b8] user: dan branch: alter-table-rename-column, size: 48789
2018-09-03
20:05
Improve the error messages emitted by RENAME TABLE. file: [8e6fc7ba] check-in: [6805b590] user: dan branch: alter-table-rename-column, size: 46837
2018-09-01
20:23
Fix a problem with renaming a column in a table that has a temp trigger that references another attached database. file: [f309bac1] check-in: [336b8a09] user: dan branch: alter-table-rename-column, size: 46602
20:02
Fixes for harmless compiler warnings. file: [24c05a7b] check-in: [41b8f38b] user: drh branch: alter-table-rename-column, size: 46529
16:55
Fix some harmless compiler warnings and improve defenses against OOM errors. file: [f07588d9] check-in: [2e2cf992] user: drh branch: alter-table-rename-column, size: 46767
16:05
Have "ALTER TABLE ADD COLUMN" reload the entire db schema, as "RENAME COLUMN" and "RENAME TABLE" do. file: [86affdc4] check-in: [8d89ddc1] user: dan branch: alter-table-rename-table, size: 46859
15:55
Merge fixes from the alter-table-rename-column branch that occurred after this branch separated from that one. file: [245152da] check-in: [22e785aa] user: drh branch: alter-table-rename-table, size: 51005
2018-08-31
18:23
Ensure b-tree mutexes are always held when sqlite3FindTable() is called. Do not invoke the authorizer callback when parsing schema items as part of ALTER TABLE commands. Fix test script issues. file: [6fa0efb0] check-in: [eac2aa7d] user: dan branch: alter-table-rename-table, size: 50812
2018-08-30
20:03
Test the schema after renaming a table. Ensure that temp database triggers and views are updated when renaming a column. file: [5ff9eba0] check-in: [f3c27d91] user: dan branch: alter-table-rename-table, size: 50522
16:26
Fix an ALTER TABLE problem with processing temp schema views and triggers. file: [f46a4188] check-in: [72cfb1be] user: dan branch: alter-table-rename-table, size: 48794
2018-08-29
21:00
Extend RENAME TABLE to edit triggers and views. Still buggy. file: [78188ded] check-in: [01308bae] user: dan branch: alter-table-rename-table, size: 48748
2018-08-25
16:14
Invoke the authorizer for ALTER TABLE RENAME COLUMN. file: [cd45c47c] check-in: [fc293bcb] user: drh branch: alter-table-rename-column, size: 50281
02:04
The implementation of sqlite_rename_column() must be holding the schema mutexes. file: [64dcb3cb] check-in: [f0eed21d] user: drh branch: alter-table-rename-column, size: 50088
2018-08-24
20:20
Fix a problem by renaming a column when the schema contains an trigger program featuring an UPSERT that uses an "excluded.*" reference to a different table. file: [39c6b7f9] check-in: [83d5f5ab] user: dan branch: alter-table-rename-column, size: 49993
20:10
Fix a problem with renaming a column that occurs as an "excluded.colname" construction in an UPSERT that is part of a trigger program. file: [1e0fc6d0] check-in: [bb2f7234] user: dan branch: alter-table-rename-column, size: 50046
17:55
After modifying and reparsing the schema as part of an ALTER TABLE RENAME COLUMN, check that no new schema errors have been introduced (e.g. ambiguous column names in views) before committing the operation. file: [4433a450] check-in: [a0e06d2c] user: dan branch: alter-table-rename-column, size: 49846
16:04
Avoid incorrectly replacing tokens that refer to a column being renamed via an alias. For example, do not overwrite "xyz" when "a" is renamed in "CREATE VIEW v1 AS SELECT a AS xyz FROM tbl WHERE xyz=1" file: [6b381569] check-in: [ad072a83] user: dan branch: alter-table-rename-column, size: 49221
2018-08-23
19:32
Fix harmless compiler warnings in the ALTER TABLE logic. Rephrase an error message to use active voice. file: [070bf02d] check-in: [a7dae59a] user: drh branch: alter-table-rename-column, size: 49190
2018-08-21
16:32
Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). file: [54c347c1] check-in: [b9ae9a0a] user: dan branch: alter-table-rename-column, size: 49165
15:06
Rationalize some duplicated code in alter.c. Also improve error messages for ALTER TABLE RENAME COLUMN in some cases. file: [0c27d981] check-in: [5d2163c7] user: dan branch: alter-table-rename-column, size: 49113
08:29
Minor changes to function tokenExpr() in order to claw back cycles lost to the rename-column change. file: [d8882d67] check-in: [47997695] user: dan branch: alter-table-rename-column, size: 48932
2018-08-20
20:01
Add further tests for RENAME COLUMN. file: [efe002e3] check-in: [82c4c10a] user: dan branch: alter-table-rename-column, size: 48916
16:16
Ensure that it is not possible to rename columns of system tables, views or virtual tables. file: [bfd9803d] check-in: [786b5991] user: dan branch: alter-table-rename-column, size: 48838
2018-08-18
18:27
Additional fixes for harmless compiler warnings that are specific to this branch. file: [3c041cee] check-in: [9d8e73bf] user: drh branch: alter-table-rename-column, size: 47830
17:35
Improvements to error handling in ALTER TABLE RENAME COLUMN. file: [3342dba2] check-in: [7fa1faea] user: dan branch: edit-trigger-wrapper, size: 47749
2018-08-17
18:08
Allow an ALTER TABLE RENAME COLUMN to proceed even if the schema contains a virtual table for which the module is unavailable. file: [c81f6d8d] check-in: [7b72b236] user: dan branch: edit-trigger-wrapper, size: 45828
2018-08-16
19:49
Further progress on updating trigger programs as part of ALTER TABLE RENAME COLUMN. file: [c16b42be] check-in: [3f47222b] user: dan branch: edit-trigger-wrapper, size: 45783
2018-08-15
20:28
Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. file: [1452a35d] check-in: [e272dc2b] user: dan branch: edit-trigger-wrapper, size: 44875
2018-08-14
21:05
Fix a problem when renaming an IPK column that is also part of a child key. file: [e1f3a719] check-in: [6e6a2bfd] user: dan branch: edit-trigger-wrapper, size: 42386
21:03
Fix a problem when renaming an IPK column that is also part of a child key. file: [35512b6c] check-in: [ad154860] user: dan branch: alter-table-rename-column, size: 40156
20:38
Do not allow ALTER TABLE RENAME COLUMN on a virtual table. file: [b3f6b775] check-in: [f6d6b472] user: drh branch: alter-table-rename-column, size: 40157
20:18
Have ALTER TABLE RENAME edit column references in CREATE VIEW statements. file: [03a90ab3] check-in: [db829dc1] user: dan branch: edit-trigger-wrapper, size: 42391
19:27
Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. file: [ec59506c] check-in: [37d11b8e] user: drh branch: alter-table-rename-column, size: 39938
16:18
Fix ALTER TABLE RENAME COLUMN in cases where the column being renamed is an IPK declared with a separate PRIMARY KEY clause - "CREATE TABLE x(y INTEGER, PRIMARY KEY(y))". file: [918b76c6] check-in: [32ca8418] user: dan branch: alter-table-rename-column, size: 39969
2018-08-13
17:14
Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. file: [9f823184] check-in: [5fdb6b0a] user: dan branch: edit-trigger-wrapper, size: 38805
17:02
Make the sqlite_rename_column() SQL function resistant to problems caused by OOMs and/or malformed parameters submitted by hostile application code. Also add additional comments to the RENAME COLUMN logic. file: [5367a548] check-in: [87743dde] user: drh branch: alter-table-rename-column, size: 40313
15:09
Fix legacy comments on Token. Begin commenting the new ALTER TABLE RENAME COLUMN code. Fix a memory leak in the sqlite_rename_column() SQL function. file: [7a8e8f14] check-in: [32edc892] user: drh branch: alter-table-rename-column, size: 38170
13:43
Fix issues with ALTER TABLE RENAME COLUMN associated with OOM errors. file: [cebb1e33] check-in: [0b28dd5c] user: drh branch: alter-table-rename-column, size: 35780
2018-08-11
20:38
If the new column name in an ALTER TABLE RENAME COLUMN statement is quoted, then also use quotes for the column name in the edited SQL statements. file: [87911da1] check-in: [ca5184a2] user: dan branch: alter-table-rename-column, size: 35718
17:49
Fix a bug causing ALTER TABLE RENAME COLUMN to fail when renaming an IPK column that is used in a CHECK constraint. file: [8c3ce112] check-in: [6595c881] user: dan branch: alter-table-rename-column, size: 35624
17:34
Fix a bug causing all ALTER TABLE RENAME COLUMN commands to fail if ANALYZE had been run on the database. Also prevent the user from renaming the columns of system tables. file: [26ddd598] check-in: [ca644a28] user: dan branch: alter-table-rename-column, size: 35514
13:40
Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. file: [3a3e29b3] check-in: [f4497b01] user: dan branch: alter-table-rename-column, size: 35427
2018-08-10
20:19
Ensure the schema cookie is changed when a column is renamed. file: [0b71fa1e] check-in: [2dec9ea4] user: dan branch: alter-table-rename-column, size: 35357
19:33
Fix harmless compiler warnings. file: [2be0bc29] check-in: [9564d700] user: drh branch: alter-table-rename-column, size: 35316
19:19
When a column is renamed, update any references to it in REFERENCES clauses that belong to other tables. file: [f5c2b068] check-in: [191079bd] user: dan branch: alter-table-rename-column, size: 35367
2018-08-09
20:47
Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. file: [94baeaee] check-in: [fa0fc01e] user: dan branch: alter-table-rename-column, size: 34649
2018-06-30
20:00
Fix a minor problem in the code for determining whether or not an SQL statement is SQLITE_TOOBIG. file: [6beb4760] check-in: [763e6c9e] user: dan branch: exp-window-functions, size: 27153
2018-06-06
23:31
Change a comma into a logically equivalent but semantically clearer semicolon. file: [819b14b5] check-in: [71f97f0f] user: drh branch: trunk, size: 27133
2017-08-09
20:35
Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. file: [748950c5] check-in: [a6256980] user: dan branch: reuse-schema, size: 27144
2017-07-26
19:59
Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. file: [cf7a8af4] check-in: [3808a00f] user: drh branch: trunk, size: 27134
2017-06-28
01:12
Minor code simplification in the ALTER TABLE logic. file: [850ede4e] check-in: [bfc4e7f3] user: drh branch: trunk, size: 27113
2016-12-16
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. file: [3b239776] check-in: [8d646905] user: drh branch: trunk, size: 27141
2016-12-14
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. file: [0f83ee1d] check-in: [9cae4c2e] user: drh branch: trunk, size: 27159
2016-08-18
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. file: [29911769] check-in: [92a22f01] user: drh branch: zDbSName, size: 27153
2016-07-14
19:13
Fix ALTER TABLE so that it does not promote the schema version past 3, as that will cause DESC indexes to go corrupt. Ticket [f68bf68513a1c]. file: [cc28ab93] check-in: [a7db6e45] user: drh branch: trunk, size: 27147
2016-02-29
15:53
Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. file: [1bb0709b] check-in: [842b2116] user: drh branch: schema-storage, size: 27136
2016-02-27
21:16
Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. file: [44e18dfd] check-in: [d8c94a46] user: drh branch: trunk, size: 27157
2016-02-15
00:34
Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. file: [7603afbd] check-in: [3201fbcc] user: drh branch: many-app-functions, size: 27127
2016-02-09
16:09
Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format to 4 if is not there already. No need to upgrade to only 2 or 3 since format 4 has now been supported for over 10 years. file: [1fbb01c2] check-in: [e1d8ec85] user: drh branch: trunk, size: 27302
2016-02-06
14:14
Fix an assert() to have a test instead of a side effect file: [d50b7dbb] check-in: [a2952231] user: pdr branch: trunk, size: 27882
2016-02-05
01:55
Improvements to the way that OOM errors are processed. file: [e4a5132e] check-in: [c3ef0347] user: drh branch: oom-handling, size: 27881
2016-02-04
11:48
Remove unnecessary sets of db->mallocFailed. file: [b6e0befc] check-in: [b787165b] user: drh branch: trunk, size: 27871
2016-02-01
21:48
Change the OP_SetCookie instruction to write the literal P3 value, not the value in register P3. file: [3fe13e97] check-in: [6d7d4703] user: drh branch: trunk, size: 27865
2015-10-10
14:41
Compiler warning fixes: Rename some local variables from "j1" to avoid a name collision with the j1() bessel function in the math library. Omit a dummy initializer that gcc 4.6.3 does not like. file: [9d649e46] check-in: [9ddef84d] user: drh branch: trunk, size: 27858
2015-09-03
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). file: [4911e1f1] check-in: [847387ec] user: drh branch: trunk, size: 27849
2015-06-02
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. file: [48e14b8a] check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 27866
2015-04-28
14:07
Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly. file: [8f6dc4a6] check-in: [36e51526] user: dan branch: trunk, size: 27866
2015-03-12
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and file: [d23d6b69] check-in: [a991bb1a] user: drh branch: stat4-function, size: 27829
2015-03-11
20:59
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column. file: [809313dd] check-in: [ff868e22] user: dan branch: stat4-function, size: 27780
2014-09-06
16:39
Fix typos in comments. No code changes. file: [ba266a77] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 27744
2014-05-19
15:16
Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. file: [05664d98] check-in: [17349a49] user: drh branch: safer-malloc, size: 27751
2014-04-14
19:48
Make sure the undocumented sqlite_rename_parent() function does not crash even if it is invoked with NULL arguments. Ticket [264b970c4379fd4b94] file: [b0090087] check-in: [c6fa8d0d] user: drh branch: trunk, size: 27746
2014-02-20
19:23
Make sure that the difference between two string pointers is passed into sqlite3_mprintf() as type "int". file: [5d99edba] check-in: [d5d973fe] user: drh branch: trunk, size: 27709
2014-02-19
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. file: [75a0b861] check-in: [d2c047f3] user: drh branch: trunk, size: 27690
00:53
Tweaks in support of VDBE branch test coverage. file: [1a630c65] check-in: [b9782564] user: drh branch: trunk, size: 27689
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [829d67a3] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 27646
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. file: [d5348d0f] check-in: [2f3376eb] user: drh branch: trunk, size: 27629
2013-08-06
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. file: [2af0330b] check-in: [2973f5ca] user: dan branch: sqlite_stat4, size: 27655
2012-10-26
13:34
Backport the shared-cache-fix branch. file: [c3d9d0d6] check-in: [325364a9] user: drh branch: branch-3.7.14, size: 27634
2012-10-05
18:35
Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 file: [ecf32968] check-in: [ac81ae49] user: drh branch: branch-3.7.9, size: 27619
2012-10-04
19:33
Shared-cache mode fixes for views and virtual tables. file: [f8db986c] check-in: [2b370dea] user: dan branch: shared-cache-fix, size: 27651
2012-09-13
14:22
Change boolean fields in the Column object from unsigned characters into bits in a single bit mask variable. file: [0c1716aa] check-in: [4163f5f1] user: drh branch: trunk, size: 27697
2012-02-01
01:13
Fix ALTER TABLE RENAME so that it correctly handles triggers that attach to the table using the name in a different case. Ticket [ae6794effd404]. file: [149cc80d] check-in: [0d78ebb8] user: drh branch: trunk, size: 27680
2011-06-03
20:11
Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. file: [ac80a0f3] check-in: [957b2ab6] user: drh branch: trunk, size: 27665
2011-04-01
15:15
Ensure that it is not possible to add a column to a system table using ALTER TABLE. file: [280f5c04] check-in: [d9707ef8] user: dan branch: trunk, size: 27713
2010-09-28
19:16
Fix some problems that can occur if a trigger has the same name as another database object. file: [6a0c176e] check-in: [655991ec] user: dan branch: trunk, size: 27139
2010-07-25
02:12
Further examples of using automatic deallocation to replace "delete" methods. file: [2b9a10af] check-in: [da2f62c5] user: drh branch: malloc-enhancement, size: 27018
2010-07-23
15:41
Remove the Table.dbMem variable, as it is no longer being used for its original purpose. file: [8dc27638] check-in: [6eddc6e6] user: dan branch: trunk, size: 26981
2010-04-24
14:02
When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. file: [a9ff6f14] check-in: [0291ed97] user: drh branch: trunk, size: 27010
2010-02-25
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [f1c7a868] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 20654
2010-02-15
18:03
Fix the ALTER TABLE RENAME command so that it converts FOREIGN KEY constraints in ATTACH-ed and in TEMP tables as well as in the main database. Ticket [13336e9c3c8c3f]. file: [e6f4d11b] check-in: [ab197d0a] user: drh branch: trunk, size: 26625
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [92ba9385] check-in: [f6c045f6] user: drh branch: trunk, size: 26605
2009-10-13
13:08
Suppress some harmless compiler warnings. file: [9e4b52e6] check-in: [5d381daa] user: drh branch: trunk, size: 26669
2009-10-08
01:43
Fix a segfault that can occur following an OOM fault while renaming a table holding foreign key constraints. file: [ee4c8b09] check-in: [33973814] user: drh branch: trunk, size: 26640
2009-09-29
06:33
Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_ALTER_TABLE. file: [1b63d4f2] check-in: [e4eb227b] user: dan branch: trunk, size: 26610
2009-09-26
17:51
When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name. file: [082657ce] check-in: [b4a10c39] user: dan branch: trunk, size: 26454
2009-09-25
11:26
Prevent ALTER TABLE from being used to add a column with a REFERENCES clause and a non-NULL default value while foreign key support is enabled. file: [e771528d] check-in: [353b1b18] user: dan branch: trunk, size: 22196
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [0bbc3429] check-in: [aec9dbd8] user: dan branch: trunk, size: 22016
2009-08-28
18:53
Changes to support recursive triggers. file: [55b60185] check-in: [9b9c1921] user: dan branch: trunk, size: 21987
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [8b42cace] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 21984
2009-06-03
11:25
Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) file: [95f41d95] check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 21954
2009-05-28
01:00
Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) file: [88b8cc66] check-in: [4ac2bdfb] user: drh branch: trunk, size: 21914
2009-05-27
10:31
Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) file: [accb3c77] check-in: [7cb1c3ba] user: drh branch: trunk, size: 21914
2009-05-12
17:46
Move the sqlite3MinimumFileFormat() routine from build.c over to alter.c since alter.c is the only code that uses it. Additional changes and cleanup to build.c to facility coverage testing. (CVS 6630) file: [f0430ee6] check-in: [6fe3750a] user: drh branch: trunk, size: 21865
2009-04-16
16:30
Changes to alter.c to enable full branch coverage testing. (CVS 6513) file: [8ab5824b] check-in: [6a91ab08] user: drh branch: trunk, size: 20972
2009-04-15
13:39
Mark an branch in alter.c as always false. Only run the assert() on the sqlite3_aggregate_count() function in func.c if the SQLITE_OMIT_DEPRECATED compile-time option is off. (CVS 6508) file: [cf3d0583] check-in: [c0bba77a] user: drh branch: trunk, size: 20965
2009-03-24
15:08
Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) file: [472c0a47] check-in: [ea74d8dc] user: drh branch: trunk, size: 20956
2009-02-28
10:47
Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) file: [b95815cc] check-in: [3befe1ef] user: danielk1977 branch: trunk, size: 20952
2009-02-13
03:43
Correctly handle attempts to add a UNIQUE or PRIMARY KEY column using the ALTER TABLE statement. Ticket #3651. (CVS 6291) file: [f93d13aa] check-in: [dd179ff2] user: drh branch: trunk, size: 20910
2009-01-20
16:53
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) file: [0ec29744] check-in: [1041abd6] user: danielk1977 branch: trunk, size: 20590
2008-12-10
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) file: [7eee66a6] check-in: [c872d554] user: drh branch: trunk, size: 20611
2008-11-19
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [0a00c184] check-in: [88134322] user: danielk1977 branch: trunk, size: 20604
2008-10-30
17:21
Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851) file: [a03c9236] check-in: [0996783b] user: danielk1977 branch: trunk, size: 20539
2008-08-08
14:19
Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be allowed but never worked, so this should not present compatibility problems. Other internal grammar simplifications. (CVS 5546) file: [f462b637] check-in: [4cedc641] user: drh branch: trunk, size: 20511
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [2c541aaa] check-in: [e48f9697] user: drh branch: trunk, size: 20532
2008-07-15
14:47
Continuing work on improved test coverage. (CVS 5415) file: [73ec449c] check-in: [c942a38e] user: drh branch: trunk, size: 20483
2008-07-07
12:44
Fix a comment in alter.c. No changes to code. (CVS 5347) file: [c74accc3] check-in: [3e558acd] user: drh branch: trunk, size: 20677
2008-05-09
14:17
Fix the ALTER TABLE RENAME algorithm so that it is not confused by comments in the CREATE TABLE statement. Ticket #3102. (CVS 5110) file: [cc38b9e2] check-in: [ab18b4e7] user: drh branch: trunk, size: 20700
2008-03-19
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) file: [b42d7829] check-in: [54c55cae] user: drh branch: trunk, size: 20670
2008-02-09
14:30
ALTER TABLE uses double-quotes for quoting table names. (CVS 4781) file: [b494a50f] check-in: [607247c2] user: drh branch: trunk, size: 20663
2008-01-25
15:04
Error messages says "no such view" instead of "no such table" when trying to DROP a VIEW that does not exist. (CVS 4750) file: [8a34c900] check-in: [50815a82] user: drh branch: trunk, size: 20647
2008-01-17
16:22
Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) file: [2a101cb0] check-in: [706b41b7] user: drh branch: trunk, size: 20641
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) file: [5a54f58d] check-in: [fe057a88] user: drh branch: trunk, size: 20639
11:01
Add OP_MemSet, for setting a memory cell to a string value. (CVS 4674) file: [b59c8810] check-in: [8bb9f970] user: danielk1977 branch: trunk, size: 20777
2008-01-03
18:39
Modify VFilter and VRename to use registers instead of the vdbe stack for inputs. (CVS 4670) file: [f95b19da] check-in: [253ed40a] user: danielk1977 branch: trunk, size: 20668
00:01
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) file: [b58ed3be] check-in: [027875e4] user: drh branch: trunk, size: 20611
2007-12-13
21:54
Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) file: [23d18ec5] check-in: [4e91a267] user: drh branch: trunk, size: 20576
08:15
Return an error if the user attempts to rename a view. Related to (but not a fix for) #2831. (CVS 4623) file: [451da14f] check-in: [19d56d99] user: danielk1977 branch: trunk, size: 20586
2007-10-20
20:58
Use the 2-argument version of substr() in the SQL contained in the VACUUM and ALTER TABLE commands. Ticket #2737. (CVS 4499) file: [8512ed31] check-in: [82b08a3d] user: drh branch: trunk, size: 20418
2007-08-29
14:06
Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) file: [c9f30b4d] check-in: [c790c234] user: danielk1977 branch: trunk, size: 20441
04:00
Better asserts(). But now some of the tests are busted again. (CVS 4320) file: [977eeee3] check-in: [e8060f85] user: drh branch: trunk, size: 20427
2007-08-25
13:09
Fix bugs in the altermalloc.test and incrblob_err.test scripts. (CVS 4295) file: [fd78c600] check-in: [e5ec1707] user: danielk1977 branch: trunk, size: 20239
2007-08-16
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [f0aac006] check-in: [77b16713] user: danielk1977 branch: trunk, size: 20236
04:30
Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) file: [27b0c0d3] check-in: [deb7ecd6] user: drh branch: trunk, size: 20067
2007-06-27
17:09
Test error handling when renaming fts2 tables. (CVS 4144) file: [24c81ed6] check-in: [57840eba] user: danielk1977 branch: trunk, size: 19961
15:53
Allow ALTER TABLE on virtual tables. (CVS 4142) file: [3402b657] check-in: [37d1f9f3] user: danielk1977 branch: trunk, size: 19880
2007-05-15
14:34
Relax the restriction on using bytes 0x80 through 0xbf as the first character of an identifier. Enhancements to ALTER TABLE tests for tables with strange names or stange column names. (CVS 4008) file: [1b1deeb9] check-in: [262a3e63] user: drh branch: trunk, size: 19226
03:56
Fix problems in ALTER TABLE that occur when column or table names are invalid UTF encodings. (CVS 4000) file: [357378a0] check-in: [9ff382f4] user: drh branch: trunk, size: 19316
2007-05-08
12:37
Do not crash in the internal functions sqlite_rename_table() or sqlite_rename_trigger() if they are somehow passed unexpected input. (CVS 3944) file: [ca8fc4a3] check-in: [c2f90b46] user: danielk1977 branch: trunk, size: 18984
2006-09-08
12:27
Bug fix in date/time computations. Ticket #1964. Some unrelated comment typos are also fixed and got accidently checked in at the same time. (CVS 3396) file: [2c79ec40] check-in: [c81eaa0d] user: drh branch: trunk, size: 18731
2006-06-21
12:36
Add tests to make sure altering or adding an index to a virtual table is prohibited. (CVS 3280) file: [eba661e7] check-in: [6c3e8852] user: danielk1977 branch: trunk, size: 18753
2006-02-09
02:56
Correctly handle COLLATE clauses in tables being modified by an ALTER TABLE ADD COLUMN command. Ticket #1665. (CVS 3060) file: [451b34fc] check-in: [baef2f66] user: drh branch: trunk, size: 18414
2006-01-31
14:28
Authorization callback on the ALTER TABLE ADD COLUMN command. Ticket #1479. (CVS 3043) file: [faf98b04] check-in: [461f5869] user: drh branch: trunk, size: 18393
2006-01-18
16:51
Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) file: [90b779cf] check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 18225
2006-01-17
13:21
Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) file: [f1b66e9a] check-in: [0505405f] user: danielk1977 branch: trunk, size: 18265
2006-01-11
21:41
Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) file: [4139c8f1] check-in: [5d9c6aa9] user: drh branch: trunk, size: 18263
2006-01-09
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) file: [d0dd079b] check-in: [82b81f69] user: danielk1977 branch: trunk, size: 18255
2006-01-05
11:34
Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) file: [e9deb3f4] check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 18243
2005-12-21
14:43
Basic functionality for descending indices is in place. Lots more testing needed. (CVS 2840) file: [5905a337] check-in: [7064433e] user: drh branch: trunk, size: 17543
2005-12-16
01:06
Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) file: [7bc737c6] check-in: [cd110aa2] user: drh branch: trunk, size: 18100
2005-12-09
20:02
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) file: [26e59061] check-in: [83a59151] user: drh branch: trunk, size: 17887
2005-12-06
12:52
Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) file: [7ed4b794] check-in: [e1606658] user: danielk1977 branch: trunk, size: 17870
2005-10-20
07:28
Changes to prevent various compiler warnings. (CVS 2750) file: [149e871e] check-in: [e261b8b0] user: drh branch: trunk, size: 17851
2005-08-19
19:14
Increase test coverage of alter.c to 100%. Fix bugs found in the process. (CVS 2603) file: [26d755f2] check-in: [b550d04d] user: drh branch: trunk, size: 17842
2005-06-06
21:19
Reference count Table structures so that they are not deallocated too soon. Ticket #1210. (CVS 2498) file: [03041f24] check-in: [e73d25c7] user: drh branch: trunk, size: 17709
2005-03-28
00:07
Use SQL function substr() correctly from ALTER TABLE code. Ticket #1182. (CVS 2420) file: [9570af38] check-in: [ccb9f402] user: danielk1977 branch: trunk, size: 17699
2005-03-27
01:56
Correctly allocate new columns array in ALTER TABLE .. ADD COLUMN. Ticket #1183. (CVS 2419) file: [f0b637b8] check-in: [3c86e633] user: danielk1977 branch: trunk, size: 17699
2005-03-19
14:45
Preparations for the release of version 3.2.0. (CVS 2400) file: [8ee27ba2] check-in: [90a00e90] user: drh branch: trunk, size: 17589
2005-03-17
05:03
Add the ALTER TABLE ... ADD COLUMN command. (CVS 2393) file: [85a23fc9] check-in: [94185dd4] user: danielk1977 branch: trunk, size: 17596
2005-02-15
21:36
Move the special built-in SQL functions used by ALTER TABLE out of func.c and into alter.c. (CVS 2343) file: [6dab3d91] check-in: [dbd11a0c] user: drh branch: trunk, size: 10740
20:47
Split the logic for the ALTER TABLE command off into a separate source code file. (CVS 2342) file: [4e38440d] check-in: [90d6573c] user: drh branch: trunk, size: 6021 Added