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
|
-- sql: assertion fault on VALUES #3888
--
-- Make sure that tokens representing values of integer, float,
-- and blob constants are different from tokens representing
-- keywords of the same names.
--
test_run = require('test_run').new()
---
...
engine = test_run:get_cfg('engine')
---
...
_ = box.space._session_settings:update('sql_default_engine', {{'=', 2, engine}})
---
...
-- check 'VALUES' against typedef keywords (should fail)
box.execute('VALUES(scalar)')
---
- null
- Syntax error at line 1 near 'scalar'
...
box.execute('VALUES(float)')
---
- null
- Syntax error at line 1 near 'float'
...
-- check 'SELECT' against typedef keywords (should fail)
box.execute('SELECT scalar')
---
- null
- Syntax error at line 1 near 'scalar'
...
box.execute('SELECT float')
---
- null
- Syntax error at line 1 near 'float'
...
-- check 'VALUES' against ID (should fail)
box.execute('VALUES(TheColumnName)')
---
- null
- Can’t resolve field 'THECOLUMNNAME'
...
-- check 'SELECT' against ID (should fail)
box.execute('SELECT TheColumnName')
---
- null
- Can’t resolve field 'THECOLUMNNAME'
...
-- check 'VALUES' well-formed expression (returns value)
box.execute('VALUES(-0.5e-2)')
---
- metadata:
- name: COLUMN_1
type: double
rows:
- [-0.005]
...
box.execute('SELECT X\'507265766564\'')
---
- metadata:
- name: COLUMN_1
type: varbinary
rows:
- ['Preved']
...
-- check 'SELECT' well-formed expression (return value)
box.execute('SELECT 3.14')
---
- metadata:
- name: COLUMN_1
type: double
rows:
- [3.14]
...
box.execute('SELECT X\'4D6564766564\'')
---
- metadata:
- name: COLUMN_1
type: varbinary
rows:
- ['Medved']
...
|