New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sql: parser should only parse (PRAGMA, SET) #4621
Comments
ImeevMA
added a commit
that referenced
this issue
Nov 15, 2019
This patch creates an SQL SET statement. This statement replaces pragmas that can modify SQL settings. List of pragmas that will have the corresponding option in SET: 'defer_foreign_keys' 'full_column_names' 'recursive_triggers' 'reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' 'parser_trace' 'select_trace' 'sql_trace' 'vdbe_addoptrace' 'vdbe_debug' 'vdbe_eqp' 'vdbe_listing' 'vdbe_trace' 'where_trace' All these pragmas along with the pragmas 'short_column_names' and 'count_changes' will be removed in the next patch. Part of #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL parameter, use the following syntax: SET <name of the setting> = <value of the setting>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in the debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' All of these setting with exception of 'sql_compound_select_limit' are session-local settings. Their value can be viewed in _vsession_settings sysview. Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 21, 2019
This patch creates an SQL SET statement. This statement replaces pragmas that can modify SQL settings. List of pragmas that will have the corresponding option in SET: 'defer_foreign_keys' 'full_column_names' 'recursive_triggers' 'reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' 'parser_trace' 'select_trace' 'sql_trace' 'vdbe_addoptrace' 'vdbe_debug' 'vdbe_eqp' 'vdbe_listing' 'vdbe_trace' 'where_trace' All these pragmas along with the pragmas 'short_column_names' and 'count_changes' will be removed in the next patch. Part of #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL parameter, use the following syntax: SET <name of the setting> = <value of the setting>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in the debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' All of these setting with exception of 'sql_compound_select_limit' are session-local settings. Their value can be viewed in _vsession_settings sysview. Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 23, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value> In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value> PRAGMA <setting name>(<setting value>) 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL parameter, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 23, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value> In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value> PRAGMA <setting name>(<setting value>) 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL parameter, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 23, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value> In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value> PRAGMA <setting name>(<setting value>) 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL parameter, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 27, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value>; In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value>; PRAGMA <setting name>(<setting value>); 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL setting, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 27, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value>; In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value>; PRAGMA <setting name>(<setting value>); 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL setting, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 27, 2019
This patch replaces the control pragmas with SET. List of replaced control pragmas and their SET settings: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET settings: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value>; In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value>; PRAGMA <setting name>(<setting value>); 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. After this patch there will be no control pragmas. Closes #4511 Closes #4621 @TarantoolBot document Title: SQL SET statement SQL SET statement is used to change SQL settings. To change the value of an SQL setting, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' Example of usage: SET sql_full_column_names = true; SET sql_compound_select_limit = 10; SET sql_default_engine = 'memtx';
ImeevMA
added a commit
that referenced
this issue
Nov 28, 2019
This patch replaces the control pragmas with SET. After this patch there will be no control pragmas. Closes #4511 Part of #4621 @TarantoolBot document Title: SQL SET statement The SQL SET statement is used to change SQL settings. It should be used as a substitute for PRAGMA. Pragmas replaced by SET are deleted. To change the value of an SQL setting, use the following syntax: SET <setting name> = <setting value>; Currently available SQL settings: 'sql_defer_foreign_keys' 'sql_full_column_names' 'sql_recursive_triggers' 'sql_reverse_unordered_selects' 'sql_compound_select_limit' 'sql_default_engine' In addition, SQL debugging settings can also be changed using this statement in debug build: 'sql_parser_trace' 'sql_select_trace' 'sql_trace' 'sql_vdbe_addoptrace' 'sql_vdbe_debug' 'sql_vdbe_eqp' 'sql_vdbe_listing' 'sql_vdbe_trace' 'sql_where_trace' List of replaced control pragmas and their SET analogues: Control pragmas SET parameters defer_foreign_keys sql_defer_foreign_keys full_column_names sql_full_column_names recursive_triggers sql_recursive_triggers reverse_unordered_selects sql_reverse_unordered_selects sql_compound_select_limit sql_compound_select_limit sql_default_engine sql_default_engine Also, in debug build, these control pragmas are replaced by SET analogues: Control pragmas SET parameters parser_trace sql_parser_trace select_trace sql_select_trace sql_trace sql_trace vdbe_addoptrace sql_vdbe_addoptrace vdbe_debug sql_vdbe_debug vdbe_eqp sql_vdbe_eqp vdbe_listing sql_vdbe_listing vdbe_trace sql_vdbe_trace where_trace sql_where_trace Difference between SET and control pragma: 1) SET have more definite syntax: SET <setting name> = <setting value>; In PRAGMA, we could set the settings using these methods: PRAGMA <setting name> = <setting value>; PRAGMA <setting name>(<setting value>); 2) SET allows only a specific type of value for each setting. In PRAGMA, we could use almost everything to set up any setting. Although the rules by which the settings were set in PRAGMA were pretty easy to understand. 3) SET cannot display setting values. PRAGMA showed the setting values using the syntax "PRAGMA <setting name>;". With SET, we must use other means to get the current setting values. For session settings, we could use the sysview "_vsession_settings" to get these values. It is worth noting that all current SQL settings are session settings, with the exception of 'sql_reverse_unordered_selects'. Example of usage: SET sql_default_engine = 'memtx'; SET sql_reverse_unordered_selects = false;
The main idea of the issue is to make SET work the way it works in an UPDATE statement. In this case, we will be able to use SET with bindings, arithmetic operations, and so on. |
@Gerold103 Is this issue still relevant? |
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks the parsing of statements associated with transactions. There are six of them: START TRANSACTION; COMMIT; ROLLBACK; SAVEPOINT savepoint_name; RELEASE [SAVEPOINT] savepoint_name; ROLLBACK TO savepoint_name; Prior to this patch, VDBE for these statements were generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes are made NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks FOREIGN KEY constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT FOREIGN KEY statements. Prior to this patch, VDBE for creation of FOREIGN KEY constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, FOREIGN KEY constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint, UNIQUE constraints, and CHECK CONSTRAINTS constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks the parsing of statements associated with transactions. There are six of them: START TRANSACTION; COMMIT; ROLLBACK; SAVEPOINT savepoint_name; RELEASE [SAVEPOINT] savepoint_name; ROLLBACK TO savepoint_name; Prior to this patch, VDBE for these statements were generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes are made NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks FOREIGN KEY constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT FOREIGN KEY statements. Prior to this patch, VDBE for creation of FOREIGN KEY constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, FOREIGN KEY constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint, UNIQUE constraints, and CHECK CONSTRAINTS constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Part of tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks CHECK constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT CHECK statements. Prior to this patch, VDBE for creation of CHECK constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, CHECK constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint and UNIQUE constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Closes tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks UNIQUE constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT UNIQUE statements. Prior to this patch, VDBE for creation of UNIQUE constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, UNIQUE constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause and PRIMARY KEY constraint. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Mar 2, 2023
This patch reworks FOREIGN KEY constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT FOREIGN KEY statements. Prior to this patch, VDBE for creation of FOREIGN KEY constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, FOREIGN KEY constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint, UNIQUE constraints, and CHECK CONSTRAINTS constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Part of tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks ALTER TABLE ADD COLUMN statement parsing. Prior to this patch, VDBE for ALTER TABLE ADD COLUMN statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks CREATE TABLE statement parsing. Prior to this patch, VDBE for CREATE TABLE statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks CREATE VIEW statement parsing. Prior to this patch, VDBE for CREATE VIEW statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks CREATE TRIGGER statement parsing. Prior to this patch, VDBE for CREATE TRIGGER statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks ALTER TABLE RENAME statement parsing. Prior to this patch, VDBE for ALTER TABLE RENAME statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks ALTER TABLE DROP CONSTRAINT statement parsing. Prior to this patch, VDBE for ALTER TABLE DROP CONSTRAINT statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks DROP INDEX statement parsing. Prior to this patch, VDBE for DROP INDEX statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks DROP VIEW statement parsing. Prior to this patch, VDBE for DROP VIEW statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks DROP TABLE statement parsing. Prior to this patch, VDBE for DROP TABLE statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks DROP TRIGGER statement parsing. Prior to this patch, VDBE for DROP TRIGGER statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 12, 2023
This patch reworks the parsing of statements associated with transactions. There are six of them: START TRANSACTION; COMMIT; ROLLBACK; SAVEPOINT savepoint_name; RELEASE [SAVEPOINT] savepoint_name; ROLLBACK TO savepoint_name; Prior to this patch, VDBE for these statements were generated while the statement was in the process of being parsed. After this patch, VDBE for all these statements will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes are made NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks FOREIGN KEY constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT FOREIGN KEY statements. Prior to this patch, VDBE opcodes for creation of FOREIGN KEY constraints were generated while the statement was in the process of being parsed. After this patch, they will be generated only after the parsing has successfully completed. Also, after this patch, FOREIGN KEY constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint, UNIQUE constraints, and CHECK CONSTRAINTS constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Part of tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks CHECK constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT CHECK statements. Prior to this patch, VDBE for creation of CHECK constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, CHECK constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint and UNIQUE constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Closes tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks UNIQUE constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT UNIQUE statements. Prior to this patch, VDBE for creation of UNIQUE constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, UNIQUE constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause and PRIMARY KEY constraint. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks PRIMARY KEY constraint parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT PRIMARY KEY statements. Prior to this patch, VDBE for creation of PRIMARY KEY constraint was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, PRIMARY KEY constraint will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause and COLLATION clause. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks CREATE INDEX statement parsing. Prior to this patch, VDBE for CREATE INDEX statement was generated while the statement was in the process of being parsed. After this patch, the statement will be executed only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks AUTOINCREMENT clause parsing in CREATE TABLE and ALTER TABLE ADD COLUMN statements. Prior to this patch, the AUTOINCREMENT clause was processed while the statement was in the process of being parsed. After this patch, the clause will be processed only after the parsing has successfully completed. Also, after this patch, AUTOINCREMENT clause will be processed after creating columns, NULL and NOT NULL constraints, DEFAULT clause and COLLATION clause. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks ALTER TABLE ADD COLUMN statement parsing. Prior to this patch, VDBE for ALTER TABLE ADD COLUMN statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks CREATE TABLE statement parsing. Prior to this patch, VDBE for CREATE TABLE statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Apr 22, 2023
This patch reworks CREATE VIEW statement parsing. Prior to this patch, VDBE for CREATE VIEW statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks FOREIGN KEY constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT FOREIGN KEY statements. Prior to this patch, VDBE opcodes for creation of FOREIGN KEY constraints were generated while the statement was in the process of being parsed. After this patch, they will be generated only after the parsing has successfully completed. Also, after this patch, FOREIGN KEY constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint, UNIQUE constraints, and CHECK CONSTRAINTS constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Part of tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks CHECK constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT CHECK statements. Prior to this patch, VDBE for creation of CHECK constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, CHECK constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause, PRIMARY KEY constraint and UNIQUE constraints. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 Closes tarantool#8392 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks UNIQUE constraints parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT UNIQUE statements. Prior to this patch, VDBE for creation of UNIQUE constraints was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, UNIQUE constraints will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause, COLLATION clause and PRIMARY KEY constraint. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks PRIMARY KEY constraint parsing in CREATE TABLE, ALTER TABLE ADD COLUMN and ALTER TABLE ADD CONSTRAINT PRIMARY KEY statements. Prior to this patch, VDBE for creation of PRIMARY KEY constraint was generated while the statement was in the process of being parsed. After this patch, all these statements will be executed only after the parsing has successfully completed. Also, after this patch, PRIMARY KEY constraint will be created after creating columns, NULL and NOT NULL constraints, DEFAULT clause and COLLATION clause. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks CREATE INDEX statement parsing. Prior to this patch, VDBE for CREATE INDEX statement was generated while the statement was in the process of being parsed. After this patch, the statement will be executed only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks AUTOINCREMENT clause parsing in CREATE TABLE and ALTER TABLE ADD COLUMN statements. Prior to this patch, the AUTOINCREMENT clause was processed while the statement was in the process of being parsed. After this patch, the clause will be processed only after the parsing has successfully completed. Also, after this patch, AUTOINCREMENT clause will be processed after creating columns, NULL and NOT NULL constraints, DEFAULT clause and COLLATION clause. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks ALTER TABLE ADD COLUMN statement parsing. Prior to this patch, VDBE for ALTER TABLE ADD COLUMN statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks CREATE TABLE statement parsing. Prior to this patch, VDBE for CREATE TABLE statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_CHANGELOG=Will be added later
ImeevMA
added a commit
to ImeevMA/tarantool
that referenced
this issue
Sep 26, 2023
This patch reworks CREATE VIEW statement parsing. Prior to this patch, VDBE for CREATE VIEW statement was generated while the statement was in the process of being parsed. After this patch, it will be generated only after the parsing has successfully completed. Part of tarantool#3319 Part of tarantool#4621 Part of tarantool#5485 Part of tarantool#8100 NO_DOC=Will be added later NO_TEST=No user-visible changes NO_CHANGELOG=Will be added later
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
PRAGMA and SET work during compile time. The only thing made by VDBE is metadata. It should not be so. Parser should never change DBMS state. PRAGMA and SET should work at runtime.
The text was updated successfully, but these errors were encountered: