4
4
SQL features
5
5
--------------------------------------------------------------------------------
6
6
7
- In this section we will go through SQL:2016's "Feature taxonomy and definition
7
+ This section compares Tarantool's features with SQL:2016's "Feature taxonomy and definition
8
8
for mandatory features".
9
9
10
- For each feature in that list, we will come up with a simple example SQL
10
+ For each feature in that list, there will be a simple example SQL
11
11
statement.
12
- If Tarantool appears to handle the example, we will mark it "Okay",
13
- else we will mark it "Fail".
14
- Since this is rough and arbitrary, we believe that tests which are unfairly
12
+ If Tarantool appears to handle the example, it will be marked "Okay",
13
+ else it will be marked "Fail".
14
+ Since this is rough and arbitrary, the hope is that tests which are unfairly
15
15
marked "Okay" will probably be balanced by tests which are unfairly marked "Fail".
16
16
17
17
.. container :: table
@@ -34,7 +34,7 @@ marked "Okay" will probably be balanced by tests which are unfairly marked "Fail
34
34
| | | | these types, but will restrict it to 'float32' and |
35
35
| | | | 'float64' in 2.2. The format change requires data |
36
36
| | | | migration and cannot be done automatically, because in |
37
- | | | | 2.1 we have no information to distinguish 'number' |
37
+ | | | | 2.1 there is no information to distinguish 'number' |
38
38
| | | | columns (created from Lua) from FLOAT/DOUBLE/REAL ones |
39
39
| | | | (created from SQL). |
40
40
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
@@ -83,7 +83,7 @@ marked "Okay" will probably be balanced by tests which are unfairly marked "Fail
83
83
| | | | :ref: `POSITION <sql_function_position >` function |
84
84
| | | | requires '``, ``' rather than '``IN ``'. |
85
85
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
86
- | E021-12 | Character comparison | ``SELECT * FROM t WHERE s1 > 'a'; `` | Okay. We should note here that comparisons use a binary |
86
+ | E021-12 | Character comparison | ``SELECT * FROM t WHERE s1 > 'a'; `` | Okay. For STRING comparisons Tarantool uses a binary |
87
87
| | | | collation by default, but it is easy to use a |
88
88
| | | | :ref: `COLLATE clause <sql_collate_clause >`. |
89
89
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
@@ -263,8 +263,8 @@ marked "Okay" will probably be balanced by tests which are unfairly marked "Fail
263
263
| E141-07 | Column defaults | ``CREATE TABLE t13 (s1 INT PRIMARY KEY, s2 INT | Okay. |
264
264
| | | DEFAULT -1);`` | |
265
265
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
266
- | E141-08 | NOT NULL inferred on primary key | ``CREATE TABLE t14 (s1 INT PRIMARY KEY); `` | Okay. We are unable to insert NULL although we don't |
267
- | | | | explicitly say the column is NOT NULL. |
266
+ | E141-08 | NOT NULL inferred on primary key | ``CREATE TABLE t14 (s1 INT PRIMARY KEY); `` | Okay. It is not possible to insert NULL although |
267
+ | | | | there is no explicit NOT NULL clause. |
268
268
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
269
269
| E141-10 | Names in a foreign key can be specified in | ``CREATE TABLE t15 (s1 INT, s2 INT, PRIMARY KEY | Okay. |
270
270
| | any order | (s1,s2));`` | |
@@ -299,8 +299,8 @@ marked "Okay" will probably be balanced by tests which are unfairly marked "Fail
299
299
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
300
300
| F031 | Basic schema manipulation |
301
301
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
302
- | F031-01 | CREATE TABLE statement to create persistent | ``CREATE TABLE t20 (t20_1 INT NOT NULL); `` | Fail. We always have to say PRIMARY KEY (we only |
303
- | | base tables | | count this flaw once). |
302
+ | F031-01 | CREATE TABLE statement to create persistent | ``CREATE TABLE t20 (t20_1 INT NOT NULL); `` | Fail. Tarantool always requires a PRIMARY KEY (this |
303
+ | | base tables | | flaw will only be counted once). |
304
304
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
305
305
| F031-02 | CREATE VIEW statement | ``CREATE VIEW t21 AS SELECT * FROM t20; `` | :ref: `Okay <sql_create_view >`. |
306
306
+------------+-----------------------------------------------+----------------------------------------------------------+---------------------------------------------------------+
0 commit comments