Skip to content

Commit 14618c4

Browse files
ImeevMAlocker
authored andcommitted
box: drop sql_defer_foreign_keys session setting
This patch removes sql_defer_foreign_keys from the _session_setting system space, since foreign keys can no longer be deferred. Part of #6986 @TarantoolBot document Title: Deletion of "sql_defer_foreign_keys" session setting. Because "constraint check time" is no longer supported by foreign keys, the session setting "sql_defer_foreign_keys" has no meaning and is discarded.
1 parent 5ab45ba commit 14618c4

File tree

7 files changed

+112
-97
lines changed

7 files changed

+112
-97
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## bugfix/sql
2+
3+
* Rules "reference trigger action", "constraint check time" and "match type"
4+
were dropped.
5+
* Session setting "sql_defer_foreign_keys" was dropped (gh-6986).

src/box/session_settings.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ struct session_setting session_settings[SESSION_SETTING_COUNT] = {};
4343
/** Corresponding names of session settings. */
4444
const char *session_setting_strs[SESSION_SETTING_COUNT] = {
4545
"sql_default_engine",
46-
"sql_defer_foreign_keys",
4746
"sql_full_column_names",
4847
"sql_full_metadata",
4948
"sql_parser_debug",

src/box/session_settings.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
enum {
4545
SESSION_SETTING_SQL_BEGIN,
4646
SESSION_SETTING_SQL_DEFAULT_ENGINE = SESSION_SETTING_SQL_BEGIN,
47-
SESSION_SETTING_SQL_DEFER_FOREIGN_KEYS,
4847
SESSION_SETTING_SQL_FULL_COLUMN_NAMES,
4948
SESSION_SETTING_SQL_FULL_METADATA,
5049
SESSION_SETTING_SQL_PARSER_DEBUG,

src/box/sql/build.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3619,8 +3619,6 @@ struct sql_option_metadata
36193619
static struct sql_option_metadata sql_session_opts[] = {
36203620
/** SESSION_SETTING_SQL_DEFAULT_ENGINE */
36213621
{FIELD_TYPE_STRING, 0},
3622-
/** SESSION_SETTING_SQL_DEFER_FOREIGN_KEYS */
3623-
{FIELD_TYPE_BOOLEAN, SQL_DeferFKs},
36243622
/** SESSION_SETTING_SQL_FULL_COLUMN_NAMES */
36253623
{FIELD_TYPE_BOOLEAN, SQL_FullColNames},
36263624
/** SESSION_SETTING_SQL_FULL_METADATA */

test/box/session_settings.result

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ s:delete({'b'})
4040
| ---
4141
| - error: _session_settings space does not support delete()
4242
| ...
43-
s:replace({'sql_defer_foreign_keys', true})
43+
s:replace({'sql_default_engine', 'memtx'})
4444
| ---
4545
| - error: _session_settings space does not support replace()
4646
| ...
@@ -53,7 +53,6 @@ s:replace({'sql_defer_foreign_keys', true})
5353
s:select()
5454
| ---
5555
| - - ['sql_default_engine', 'memtx']
56-
| - ['sql_defer_foreign_keys', false]
5756
| - ['sql_full_column_names', false]
5857
| - ['sql_full_metadata', false]
5958
| - ['sql_parser_debug', false]
@@ -111,7 +110,7 @@ check_sorting(s, t, 'sql_d')
111110
check_sorting(s, t, 'sql_v')
112111
| ---
113112
| ...
114-
check_sorting(s, t, 'sql_defer_foreign_keys')
113+
check_sorting(s, t, 'sql_full_column_names')
115114
| ---
116115
| ...
117116

@@ -120,9 +119,9 @@ t:drop()
120119
| ...
121120

122121
-- Check get() method of session_settings space.
123-
s:get({'sql_defer_foreign_keys'})
122+
s:get({'sql_full_column_names'})
124123
| ---
125-
| - ['sql_defer_foreign_keys', false]
124+
| - ['sql_full_column_names', false]
126125
| ...
127126
s:get({'sql_recursive_triggers'})
128127
| ---
@@ -155,13 +154,13 @@ for key, value in s:pairs() do table.insert(t, {key, value}) end
155154
-- Check update() method of session_settings space.
156155

157156
-- Correct updates.
158-
s:update('sql_defer_foreign_keys', {{'=', 'value', true}})
157+
s:update('sql_full_metadata', {{'=', 'value', true}})
159158
| ---
160-
| - ['sql_defer_foreign_keys', true]
159+
| - ['sql_full_metadata', true]
161160
| ...
162-
s:update({'sql_defer_foreign_keys'}, {{'=', 2, false}})
161+
s:update({'sql_full_metadata'}, {{'=', 2, false}})
163162
| ---
164-
| - ['sql_defer_foreign_keys', false]
163+
| - ['sql_full_metadata', false]
165164
| ...
166165
s:update('sql_default_engine', {{'=', 2, 'vinyl'}})
167166
| ---
@@ -176,114 +175,114 @@ s:update('a', {{'=', 2, 1}})
176175
| ...
177176

178177
-- Inorrect updates.
179-
s:update({{'sql_defer_foreign_keys'}}, {{'=', 'value', true}})
178+
s:update({{'sql_full_metadata'}}, {{'=', 'value', true}})
180179
| ---
181180
| - error: 'Supplied key type of part 0 does not match index part type: expected string'
182181
| ...
183182

184-
s:update('sql_defer_foreign_keys', {'=', 'value', true})
183+
s:update('sql_full_metadata', {'=', 'value', true})
185184
| ---
186185
| - error: Illegal parameters, update operation must be an array {op,..}
187186
| ...
188-
s:update('sql_defer_foreign_keys', {{'=', 'value', true}, {'=', 2, true}})
187+
s:update('sql_full_metadata', {{'=', 'value', true}, {'=', 2, true}})
189188
| ---
190-
| - ['sql_defer_foreign_keys', true]
189+
| - ['sql_full_metadata', true]
191190
| ...
192-
s:update('sql_defer_foreign_keys', {{}})
191+
s:update('sql_full_metadata', {{}})
193192
| ---
194193
| - error: Illegal parameters, update operation must be an array {op,..}, got empty
195194
| array
196195
| ...
197-
s:update('sql_defer_foreign_keys', {{'='}})
196+
s:update('sql_full_metadata', {{'='}})
198197
| ---
199198
| - error: 'Unknown UPDATE operation #1: wrong number of arguments, expected 3, got
200199
| 1'
201200
| ...
202-
s:update('sql_defer_foreign_keys', {{'=', 'value'}})
201+
s:update('sql_full_metadata', {{'=', 'value'}})
203202
| ---
204203
| - error: 'Unknown UPDATE operation #1: wrong number of arguments, expected 3, got
205204
| 2'
206205
| ...
207-
s:update('sql_defer_foreign_keys', {{'=', 'value', true, 1}})
206+
s:update('sql_full_metadata', {{'=', 'value', true, 1}})
208207
| ---
209208
| - error: 'Unknown UPDATE operation #1: wrong number of arguments, expected 3, got
210209
| 4'
211210
| ...
212211

213-
s:update('sql_defer_foreign_keys', {{'+', 'value', 2}})
212+
s:update('sql_full_metadata', {{'+', 'value', 2}})
214213
| ---
215214
| - error: 'Argument type in operation ''+'' on field ''value'' does not match field
216215
| type: expected a number'
217216
| ...
218-
s:update('sql_defer_foreign_keys', {{'-', 'value', 2}})
217+
s:update('sql_full_metadata', {{'-', 'value', 2}})
219218
| ---
220219
| - error: 'Argument type in operation ''-'' on field ''value'' does not match field
221220
| type: expected a number'
222221
| ...
223-
s:update('sql_defer_foreign_keys', {{'&', 'value', 2}})
222+
s:update('sql_full_metadata', {{'&', 'value', 2}})
224223
| ---
225224
| - error: 'Argument type in operation ''&'' on field ''value'' does not match field
226225
| type: expected a positive integer'
227226
| ...
228-
s:update('sql_defer_foreign_keys', {{'|', 'value', 2}})
227+
s:update('sql_full_metadata', {{'|', 'value', 2}})
229228
| ---
230229
| - error: 'Argument type in operation ''|'' on field ''value'' does not match field
231230
| type: expected a positive integer'
232231
| ...
233-
s:update('sql_defer_foreign_keys', {{'^', 'value', 2}})
232+
s:update('sql_full_metadata', {{'^', 'value', 2}})
234233
| ---
235234
| - error: 'Argument type in operation ''^'' on field ''value'' does not match field
236235
| type: expected a positive integer'
237236
| ...
238-
s:update('sql_defer_foreign_keys', {{'!', 'value', 2}})
237+
s:update('sql_full_metadata', {{'!', 'value', 2}})
239238
| ---
240239
| - error: Tuple field count 3 does not match space field count 2
241240
| ...
242-
s:update('sql_defer_foreign_keys', {{'#', 'value', 2}})
241+
s:update('sql_full_metadata', {{'#', 'value', 2}})
243242
| ---
244243
| - error: Tuple field count 1 does not match space field count 2
245244
| ...
246-
s:update('sql_defer_foreign_keys', {{1, 'value', true}})
245+
s:update('sql_full_metadata', {{1, 'value', true}})
247246
| ---
248247
| - error: Illegal parameters, update operation name must be a string
249248
| ...
250-
s:update('sql_defer_foreign_keys', {{{1}, 'value', true}})
249+
s:update('sql_full_metadata', {{{1}, 'value', true}})
251250
| ---
252251
| - error: Illegal parameters, update operation name must be a string
253252
| ...
254253

255-
s:update('sql_defer_foreign_keys', {{'=', {'value'}, true}})
254+
s:update('sql_full_metadata', {{'=', {'value'}, true}})
256255
| ---
257256
| - error: Illegal parameters, field id must be a number or a string
258257
| ...
259-
s:update('sql_defer_foreign_keys', {{'=', 1, 'new_key'}})
258+
s:update('sql_full_metadata', {{'=', 1, 'new_key'}})
260259
| ---
261260
| - error: Attempt to modify a tuple field which is part of primary index in space '_session_settings'
262261
| ...
263-
s:update('sql_defer_foreign_keys', {{'=', 'name', 'new_key'}})
262+
s:update('sql_full_metadata', {{'=', 'name', 'new_key'}})
264263
| ---
265264
| - error: Attempt to modify a tuple field which is part of primary index in space '_session_settings'
266265
| ...
267-
s:update('sql_defer_foreign_keys', {{'=', 3, true}})
266+
s:update('sql_full_metadata', {{'=', 3, true}})
268267
| ---
269268
| - error: Tuple field count 3 does not match space field count 2
270269
| ...
271-
s:update('sql_defer_foreign_keys', {{'=', 'some text', true}})
270+
s:update('sql_full_metadata', {{'=', 'some text', true}})
272271
| ---
273272
| - error: Field 'some text' was not found in the tuple
274273
| ...
275274

276-
s:update('sql_defer_foreign_keys', {{'=', 'value', 1}})
275+
s:update('sql_full_metadata', {{'=', 'value', 1}})
277276
| ---
278-
| - error: Session setting sql_defer_foreign_keys expected a value of type boolean
277+
| - error: Session setting sql_full_metadata expected a value of type boolean
279278
| ...
280-
s:update('sql_defer_foreign_keys', {{'=', 'value', {1}}})
279+
s:update('sql_full_metadata', {{'=', 'value', {1}}})
281280
| ---
282-
| - error: Session setting sql_defer_foreign_keys expected a value of type boolean
281+
| - error: Session setting sql_full_metadata expected a value of type boolean
283282
| ...
284-
s:update('sql_defer_foreign_keys', {{'=', 'value', '1'}})
283+
s:update('sql_full_metadata', {{'=', 'value', '1'}})
285284
| ---
286-
| - error: Session setting sql_defer_foreign_keys expected a value of type boolean
285+
| - error: Session setting sql_full_metadata expected a value of type boolean
287286
| ...
288287

289288
-- gh-4711: Provide a user-friendly frontend for accessing session settings.
@@ -310,18 +309,18 @@ s:get('sql_default_engine').value
310309
| ---
311310
| - memtx
312311
| ...
313-
settings.sql_defer_foreign_keys = true
312+
settings.sql_full_metadata = true
314313
| ---
315314
| ...
316-
s:get('sql_defer_foreign_keys').value
315+
s:get('sql_full_metadata').value
317316
| ---
318317
| - true
319318
| ...
320-
s:update('sql_defer_foreign_keys', {{'=', 2, false}})
319+
s:update('sql_full_metadata', {{'=', 2, false}})
321320
| ---
322-
| - ['sql_defer_foreign_keys', false]
321+
| - ['sql_full_metadata', false]
323322
| ...
324-
settings.sql_defer_foreign_keys
323+
settings.sql_full_metadata
325324
| ---
326325
| - false
327326
| ...
@@ -342,19 +341,19 @@ s:get('sql_default_engine').value
342341
| ---
343342
| - memtx
344343
| ...
345-
box.execute([[set session "sql_defer_foreign_keys" = true]])
344+
box.execute([[set session "sql_full_metadata" = true]])
346345
| ---
347346
| - row_count: 1
348347
| ...
349-
s:get('sql_defer_foreign_keys').value
348+
s:get('sql_full_metadata').value
350349
| ---
351350
| - true
352351
| ...
353-
box.execute([[set session "sql_defer_foreign_keys" = false]])
352+
box.execute([[set session "sql_full_metadata" = false]])
354353
| ---
355354
| - row_count: 1
356355
| ...
357-
s:get('sql_defer_foreign_keys').value
356+
s:get('sql_full_metadata').value
358357
| ---
359358
| - false
360359
| ...
@@ -363,9 +362,9 @@ settings.sql_default_engine = true
363362
| ---
364363
| - error: Session setting sql_default_engine expected a value of type string
365364
| ...
366-
settings.sql_defer_foreign_keys = 'false'
365+
settings.sql_full_metadata = 'false'
367366
| ---
368-
| - error: Session setting sql_defer_foreign_keys expected a value of type boolean
367+
| - error: Session setting sql_full_metadata expected a value of type boolean
369368
| ...
370369
settings.sql_parser_debug = 'string'
371370
| ---
@@ -390,8 +389,8 @@ box.execute([[set session "sql_default_engine" = true]])
390389
| - null
391390
| - Session setting sql_default_engine expected a value of type string
392391
| ...
393-
box.execute([[set session "sql_defer_foreign_keys" = 'true']])
392+
box.execute([[set session "sql_full_metadata" = 'true']])
394393
| ---
395394
| - null
396-
| - Session setting sql_defer_foreign_keys expected a value of type boolean
395+
| - Session setting sql_full_metadata expected a value of type boolean
397396
| ...

0 commit comments

Comments
 (0)