File: gh-2929-primary-key.test.lua

package info (click to toggle)
tarantool 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 85,364 kB
  • sloc: ansic: 513,760; cpp: 69,489; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,173; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (23 lines) | stat: -rw-r--r-- 739 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)")
box.execute("CREATE TABLE t2(a INT UNIQUE, b INT)")

box.execute("CREATE TABLE t3(a NUMBER)")
box.execute("CREATE TABLE t4(a NUMBER, b TEXT)")
box.execute("CREATE TABLE t5(a NUMBER, b NUMBER UNIQUE)")

box.execute("DROP TABLE t1")

--
-- gh-3522: invalid primary key name
--
box.execute("CREATE TABLE tx (a INT, PRIMARY KEY (b));")