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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
test_run = require('test_run').new()
---
...
engine = test_run:get_cfg('engine')
---
...
_ = box.space._session_settings:update('sql_default_engine', {{'=', 2, engine}})
---
...
-- box.cfg()
-- create space
-- scalar affinity
box.execute("CREATE TABLE test1 (f1 INT, f2 INT, PRIMARY KEY(f1))")
---
- row_count: 1
...
box.execute("CREATE INDEX test1_index ON test1 (f2)")
---
- row_count: 1
...
-- integer affinity
box.execute("CREATE TABLE test2 (f1 INT, f2 INT, PRIMARY KEY(f1))")
---
- row_count: 1
...
-- Seed entries
box.execute("INSERT INTO test1 VALUES(1, 2)");
---
- row_count: 1
...
box.execute("INSERT INTO test1 VALUES(2, NULL)");
---
- row_count: 1
...
box.execute("INSERT INTO test1 VALUES(3, NULL)");
---
- row_count: 1
...
box.execute("INSERT INTO test1 VALUES(4, 3)");
---
- row_count: 1
...
box.execute("INSERT INTO test2 VALUES(1, 2)");
---
- row_count: 1
...
-- Select must return properly decoded `NULL`
box.execute("SELECT MAX(f1) FROM test1")
---
- metadata:
- name: COLUMN_1
type: scalar
rows:
- [4]
...
box.execute("SELECT MAX(f2) FROM test1")
---
- metadata:
- name: COLUMN_1
type: scalar
rows:
- [3]
...
box.execute("SELECT MAX(f1) FROM test2")
---
- metadata:
- name: COLUMN_1
type: scalar
rows:
- [1]
...
-- Cleanup
box.execute("DROP INDEX test1_index ON test1")
---
- row_count: 1
...
box.execute("DROP TABLE test1")
---
- row_count: 1
...
box.execute("DROP TABLE test2")
---
- row_count: 1
...
-- Debug
-- require("console").start()
|