1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
test_run = require('test_run').new()
---
...
engine = test_run:get_cfg('engine')
---
...
_ = box.space._session_settings:update('sql_default_engine', {{'=', 2, engine}})
---
...
-- All tables in SQL are now WITHOUT ROW ID, so if user
-- tries to create table without a primary key, an appropriate error message
-- should be raised. This tests checks it.
box.cfg{}
---
...
box.execute("CREATE TABLE t1(a INT PRIMARY KEY, b INT UNIQUE)")
---
- row_count: 1
...
box.execute("CREATE TABLE t2(a INT UNIQUE, b INT)")
---
- null
- 'Failed to create space ''T2'': PRIMARY KEY missing'
...
box.execute("CREATE TABLE t3(a NUMBER)")
---
- null
- 'Failed to create space ''T3'': PRIMARY KEY missing'
...
box.execute("CREATE TABLE t4(a NUMBER, b TEXT)")
---
- null
- 'Failed to create space ''T4'': PRIMARY KEY missing'
...
box.execute("CREATE TABLE t5(a NUMBER, b NUMBER UNIQUE)")
---
- null
- 'Failed to create space ''T5'': PRIMARY KEY missing'
...
box.execute("DROP TABLE t1")
---
- row_count: 1
...
--
-- gh-3522: invalid primary key name
--
box.execute("CREATE TABLE tx (a INT, PRIMARY KEY (b));")
---
- null
- Can’t resolve field 'B'
...
|