1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-26 21:59:27 +03:00
Commit Graph

105 Commits

Author SHA1 Message Date
drh
e0a04a36a6 All temp.sqlite_master to be used as an alias for sqlite_temp_master.
FossilOrigin-Name: 8d646905b830d5bb29092e103ac5cb499b3c7e5a
2016-12-16 01:00:21 +00:00
drh
79df77821a Refactor the Table.nRef field as Table.nTabRef for easier grepping.
FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
2016-12-14 14:07:35 +00:00
drh
69c338263a 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.

FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
2016-08-18 14:33:11 +00:00
drh
86396219a3 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].

FossilOrigin-Name: a7db6e45ad45be9b3003f61d4163f543498a7c9d
2016-07-14 19:13:11 +00:00
drh
94eaafa9ce 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.

FossilOrigin-Name: 842b21162713bb141b845b01c136457a31af4ab0
2016-02-29 15:53:11 +00:00
drh
94fa9c414a Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce
the amount of memory needed to hold the schema.

FossilOrigin-Name: d8c94a46dfa94930732c2de2aa79675c5087d36e
2016-02-27 21:16:04 +00:00
drh
80738d9c3e 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.

FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +00:00
drh
bbde018230 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.

FossilOrigin-Name: e1d8ec85546caeca3bb7a05ad962a2aed91194ce
2016-02-09 16:09:22 +00:00
pdr
bb3da060e3 Fix an assert() to have a test instead of a side effect
FossilOrigin-Name: a2952231ac7abe165ed070875728f752ae0be608
2016-02-06 14:14:43 +00:00
drh
4a642b6060 Improvements to the way that OOM errors are processed.
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
4df86af329 Remove unnecessary sets of db->mallocFailed.
FossilOrigin-Name: b787165b25a240fd5b4a5c7f73b395f30213a1d7
2016-02-04 11:48:00 +00:00
drh
1861afcdbb Change the OP_SetCookie instruction to write the literal P3 value, not the
value in register P3.

FossilOrigin-Name: 6d7d4703ebf3754bec74123d5ba7e861a705f90f
2016-02-01 21:48:34 +00:00
drh
728e0f91bb 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.

FossilOrigin-Name: 9ddef84d432813f3ece8012047d08441caa3315d
2015-10-10 14:41:28 +00:00
drh
076e85f59c Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
with code generation, especially on PRAGMAs.  Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().

FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
05883a3409 Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
FossilOrigin-Name: bce3f04186cd2d69414a5a98b5b77dc8f060554a
2015-06-02 15:32:08 +00:00
dan
d68d1f4863 Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly.
FossilOrigin-Name: 36e515261825be60ffdc73d13340d77cf377e8e1
2015-04-28 14:07:02 +00:00
drh
96f4ad20fd Always disallow functions as the DEFAULT of a column. Add assert()s and
FossilOrigin-Name: a991bb1a9eb54bdbd45bd623e8b304bdfeb481a3
2015-03-12 21:02:36 +00:00
dan
cdcc11d7d4 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.
FossilOrigin-Name: ff868e22ca0393eaac417872a4c10738f0d7d970
2015-03-11 20:59:42 +00:00
peter.d.reid
60ec914c74 Fix typos in comments. No code changes.
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
65b9ac5224 Make sure the undocumented sqlite_rename_parent() function does not
crash even if it is invoked with NULL arguments.
Ticket [264b970c4379fd4b94]

FossilOrigin-Name: c6fa8d0d82805be230f672eabccdfa5680d4ddfd
2014-04-14 19:48:25 +00:00
drh
4300c1ae3b Make sure that the difference between two string pointers is passed into
sqlite3_mprintf() as type "int".

FossilOrigin-Name: d5d973fedcf5a2eea219f10e11ba3dacdd0593f0
2014-02-20 19:23:15 +00:00
drh
3d77dee935 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.

FossilOrigin-Name: d2c047f304848e49864ed8c216b48fd671fa3916
2014-02-19 14:20:49 +00:00
drh
49d9ba6354 Tweaks in support of VDBE branch test coverage.
FossilOrigin-Name: b97825646996792d0a67b83f135658027c8569ca
2014-02-19 00:53:46 +00:00
drh
688852ab15 Add logic to do test coverage measurements on the VDBE code.
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
b22f7c831f Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema
version checks that OP_VerifySchema used to do.

FossilOrigin-Name: 2f3376ebf13df44e6acf27cb1f07172cd8b34033
2014-02-06 23:56:27 +00:00
dan
7a4192358a When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan.
FossilOrigin-Name: 2973f5ca736c4a6f13c653d54b6a29d7cae8d0ed
2013-08-06 20:01:43 +00:00
dan
41fb5cd103 Shared-cache mode fixes for views and virtual tables.
FossilOrigin-Name: 2b370dea704b59262c604af0efcef5660b194454
2012-10-04 19:33:00 +00:00
drh
a371ace426 Change boolean fields in the Column object from unsigned characters into
bits in a single bit mask variable.

FossilOrigin-Name: 4163f5f194741bc2bdf141973912661c6aac70f1
2012-09-13 14:22:47 +00:00
drh
0152268793 Fix ALTER TABLE RENAME so that it correctly handles triggers that attach
to the table using the name in a different case.
Ticket [ae6794effd404].

FossilOrigin-Name: 0d78ebb8e41ba08b446b44694d9433e1e90e0a7e
2012-02-01 01:13:10 +00:00
drh
5d9c9da6e8 Create and use a function especially for adding the ParseSchema opcode.
This gives a small reduction in code and a small performance increase.

FossilOrigin-Name: 957b2ab67c6185f0e1062593d237de5c434a38bf
2011-06-03 20:11:17 +00:00
dan
be53500356 Ensure that it is not possible to add a column to a system table using ALTER TABLE.
FossilOrigin-Name: d9707ef8dcd29667b6d366897f6ad02c87aa0041
2011-04-01 15:15:58 +00:00
dan
39f1bcb1df Fix some problems that can occur if a trigger has the same name as another database object.
FossilOrigin-Name: 655991ec8a781d67d69fc353853403b9a811acf2
2010-09-29 07:16:46 +00:00
dan
1feeaed291 Remove the Table.dbMem variable, as it is no longer being used for its original purpose.
FossilOrigin-Name: 6eddc6e601cf8f585c6c2cf79f36fcbfe98a307e
2010-07-23 15:41:47 +00:00
drh
545f587fc8 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.

FossilOrigin-Name: 0291ed974d5bf1e344e2c38422530cc961b897da
2010-04-24 14:02:59 +00:00
drh
9a6ffc845b 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].

FossilOrigin-Name: ab197d0aaf18016ac2dd3674f49bea5f1556451c
2010-02-15 18:03:20 +00:00
drh
c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
d3ceeb50f3 Suppress some harmless compiler warnings.
FossilOrigin-Name: 5d381daa6e5248ec171aa682e2dad058d4012f24
2009-10-13 13:08:19 +00:00
drh
a172c34488 Fix a segfault that can occur following an OOM fault while renaming a
table holding foreign key constraints.

FossilOrigin-Name: 33973814c67bc9bac575bf2249df6530dd2184d3
2009-10-08 01:43:55 +00:00
dan
856ef1a5f9 Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_ALTER_TABLE.
FossilOrigin-Name: e4eb227b14e4bfcb9f7f284692a391b7355f0204
2009-09-29 06:33:23 +00:00
dan
432cc5b9f3 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.
FossilOrigin-Name: b4a10c39e726dc190e9597e382baddc034294114
2009-09-26 17:51:48 +00:00
dan
53c3fa8dbe 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.
FossilOrigin-Name: 353b1b18253ab71ba38a887e555994f5469b87bd
2009-09-25 11:26:54 +00:00
dan
e0af83aca6 Combine the OP_Statement and OP_Transaction opcodes.
FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
2009-09-08 19:15:01 +00:00
dan
165921a742 Changes to support recursive triggers.
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
danielk1977
595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
danielk1977
0d19f7ac57 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)
FossilOrigin-Name: 6dbf4eca00f845baa7200aba421d0bc158ba96aa
2009-06-03 11:25:07 +00:00
drh
33e619fc1c 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)

FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff 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)

FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +00:00
drh
d300171150 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)

FossilOrigin-Name: 6fe3750a30ab432ed476c2ae6b58972187abc624
2009-05-12 17:46:53 +00:00
drh
56d56f7aa7 Changes to alter.c to enable full branch coverage testing. (CVS 6513)
FossilOrigin-Name: 6a91ab08a55eacc77f69190e1126326f4da220af
2009-04-16 16:30:17 +00:00
drh
d3264c7cdf 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)

FossilOrigin-Name: c0bba77ae619e709f3fb068526073a4a83cf33b6
2009-04-15 13:39:47 +00:00