mirror of
https://github.com/chaisql/chai.git
synced 2025-09-26 19:51:21 +08:00
80 lines
1.8 KiB
SQL
80 lines
1.8 KiB
SQL
-- setup:
|
|
CREATE TABLE test (a int);
|
|
|
|
-- test: named index
|
|
CREATE INDEX test_a_idx ON test(a);
|
|
SELECT name, owner_table_name AS table_name, sql FROM __chai_catalog WHERE type = "index";
|
|
/* result:
|
|
{
|
|
"name": "test_a_idx",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx ON test (a)"
|
|
}
|
|
*/
|
|
|
|
-- test: named unique index
|
|
CREATE UNIQUE INDEX test_a_idx ON test(a);
|
|
SELECT name, owner_table_name AS table_name, sql FROM __chai_catalog WHERE type = "index";
|
|
/* result:
|
|
{
|
|
"name": "test_a_idx",
|
|
"table_name": "test",
|
|
"sql": "CREATE UNIQUE INDEX test_a_idx ON test (a)"
|
|
}
|
|
*/
|
|
|
|
-- test: conflict
|
|
CREATE INDEX test_a_idx ON test(a);
|
|
CREATE INDEX test_a_idx ON test(a);
|
|
-- error:
|
|
|
|
-- test: conflict with UNIQUE
|
|
CREATE INDEX test_a_idx ON test(a);
|
|
CREATE UNIQUE INDEX test_a_idx ON test(a);
|
|
-- error:
|
|
|
|
-- test: IF NOT EXISTS
|
|
CREATE INDEX test_a_idx ON test(a);
|
|
CREATE INDEX IF NOT EXISTS test_a_idx ON test(a);
|
|
SELECT name, owner_table_name AS table_name, sql FROM __chai_catalog WHERE type = "index";
|
|
/* result:
|
|
{
|
|
"name": "test_a_idx",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx ON test (a)"
|
|
}
|
|
*/
|
|
|
|
-- test: generated name
|
|
CREATE INDEX ON test(a);
|
|
CREATE INDEX ON test(a);
|
|
CREATE INDEX test_a_idx2 ON test(a);
|
|
CREATE INDEX ON test(a);
|
|
SELECT name, owner_table_name AS table_name, sql FROM __chai_catalog WHERE type = "index" ORDER BY name;
|
|
/* result:
|
|
{
|
|
"name": "test_a_idx",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx ON test (a)"
|
|
}
|
|
{
|
|
"name": "test_a_idx1",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx1 ON test (a)"
|
|
}
|
|
{
|
|
"name": "test_a_idx2",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx2 ON test (a)"
|
|
}
|
|
{
|
|
"name": "test_a_idx3",
|
|
"table_name": "test",
|
|
"sql": "CREATE INDEX test_a_idx3 ON test (a)"
|
|
}
|
|
*/
|
|
|
|
-- test: generated name with IF NOT EXISTS
|
|
CREATE INDEX IF NOT EXISTS ON test(a);
|
|
-- error:
|