diff --git a/postgres/parser/sem/tree/format.go b/postgres/parser/sem/tree/format.go index 8c11d5446f..cec0f0905c 100644 --- a/postgres/parser/sem/tree/format.go +++ b/postgres/parser/sem/tree/format.go @@ -442,9 +442,9 @@ func AsStringWithFQNames(n NodeFormatter, ann *Annotations) string { return ctx.CloseAndGetString() } -// AsString pretty prints a node to a string. +// AsString pretty prints a node to a string, with unquoted identifiers. func AsString(n NodeFormatter) string { - return AsStringWithFlags(n, FmtSimple) + return AsStringWithFlags(n, FmtSimple|FmtBareIdentifiers) } // ErrString pretty prints a node to a string. Identifiers are not quoted. diff --git a/server/analyzer/validate_create_table.go b/server/analyzer/validate_create_table.go index 2519aa1782..dcf0f2b92e 100755 --- a/server/analyzer/validate_create_table.go +++ b/server/analyzer/validate_create_table.go @@ -124,6 +124,10 @@ func schToColMap(sch sql.Schema) map[string]*sql.Column { func validateIndex(ctx *sql.Context, colMap map[string]*sql.Column, idxDef *sql.IndexDef) error { seenCols := make(map[string]struct{}) for _, idxCol := range idxDef.Columns { + if idxCol.Expression != nil { + continue + } + schCol, exists := colMap[strings.ToLower(idxCol.Name)] if !exists { return sql.ErrKeyColumnDoesNotExist.New(idxCol.Name) diff --git a/server/ast/index_elem.go b/server/ast/index_elem.go index c6c9b841e6..ab1dc35b63 100644 --- a/server/ast/index_elem.go +++ b/server/ast/index_elem.go @@ -27,10 +27,6 @@ import ( func nodeIndexElemList(ctx *Context, node tree.IndexElemList) ([]*vitess.IndexField, error) { vitessIndexColumns := make([]*vitess.IndexField, 0, len(node)) for _, inputColumn := range node { - if inputColumn.Expr != nil { - return nil, errors.Errorf("expression index attribute is not yet supported") - } - if inputColumn.Collation != "" { logrus.Warn("index attribute collation is not yet supported, ignoring") } diff --git a/server/tables/information_schema/columns_table.go b/server/tables/information_schema/columns_table.go index 1bec8b6e52..5a697a4e7b 100644 --- a/server/tables/information_schema/columns_table.go +++ b/server/tables/information_schema/columns_table.go @@ -204,6 +204,9 @@ func getRowsFromTable(ctx *sql.Context, db information_schema.DbWithNames, t sql tblName := t.Name() for i, col := range information_schema.SchemaForTable(t, db.Database, allColsWithDefaultValue) { + if col.HiddenSystem { + continue + } r := getRowFromColumn(ctx, i, col, db.CatalogName, db.SchemaName, tblName) if r != nil { rows = append(rows, r) diff --git a/testing/generation/command_docs/output/create_index_test.go b/testing/generation/command_docs/output/create_index_test.go index 32a038c55f..97eb505e23 100644 --- a/testing/generation/command_docs/output/create_index_test.go +++ b/testing/generation/command_docs/output/create_index_test.go @@ -22,7 +22,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) ASC NULLS LAST , ( expression ) )"), Parses("CREATE INDEX name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name opclass )"), Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US ASC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) ASC NULLS FIRST , column_name ASC )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) ASC NULLS FIRST , column_name ASC )"), Parses("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US opclass NULLS LAST , ( expression ) COLLATE en_US ASC )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) DESC NULLS LAST , ( expression ) DESC )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ASC , ( expression ) opclass DESC )"), @@ -130,7 +130,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST ) INCLUDE ( column_name , column_name )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US , column_name DESC NULLS LAST ) INCLUDE ( column_name , column_name )"), Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass DESC NULLS LAST ) INCLUDE ( column_name , column_name )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass ) NULLS DISTINCT"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass ) NULLS DISTINCT"), Converts("CREATE INDEX name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT"), Parses("CREATE INDEX ON table_name ( column_name DESC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT"), @@ -140,14 +140,14 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON table_name USING method ( ( expression ) COLLATE en_US NULLS LAST , column_name opclass DESC ) NULLS DISTINCT"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) opclass NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) DESC NULLS LAST , column_name COLLATE en_US NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name opclass ASC NULLS FIRST ) NULLS DISTINCT"), @@ -250,13 +250,13 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT"), Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) ASC NULLS LAST , column_name ) NULLS NOT DISTINCT"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ) NULLS NOT DISTINCT"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) opclass ) NULLS NOT DISTINCT"), - Parses("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT"), + Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US DESC , column_name ASC ) NULLS NOT DISTINCT"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US DESC , column_name ASC ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ASC ) NULLS NOT DISTINCT"), Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name ASC , column_name opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT"), Parses("CREATE INDEX name ON table_name USING method ( column_name COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT"), @@ -270,7 +270,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US opclass ASC NULLS LAST , ( expression ) COLLATE en_US NULLS FIRST ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name COLLATE en_US , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS NOT DISTINCT"), Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US ASC NULLS LAST , ( expression ) DESC NULLS FIRST ) NULLS NOT DISTINCT"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( column_name opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) DESC NULLS FIRST ) NULLS NOT DISTINCT"), @@ -374,7 +374,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) COLLATE en_US DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor )"), Parses("CREATE INDEX name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) ASC ) WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) ASC ) WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) ASC ) WITH ( fillfactor )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass DESC , column_name COLLATE en_US ASC ) WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ASC ) WITH ( fillfactor )"), Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ASC ) WITH ( fillfactor )"), @@ -386,9 +386,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name opclass NULLS LAST , ( expression ) opclass DESC ) WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US NULLS LAST , ( expression ) COLLATE en_US opclass DESC ) WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( column_name opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) DESC , ( expression ) NULLS FIRST ) WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ASC NULLS FIRST , ( expression ) COLLATE en_US NULLS FIRST ) WITH ( fillfactor )"), - Parses("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor )"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) DESC , ( expression ) NULLS FIRST ) WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ASC NULLS FIRST , ( expression ) COLLATE en_US NULLS FIRST ) WITH ( fillfactor )"), + Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name opclass ASC , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor )"), @@ -502,7 +502,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON table_name USING method ( column_name DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( column_name COLLATE en_US opclass DESC , column_name COLLATE en_US ASC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC NULLS FIRST , column_name COLLATE en_US ASC ) NULLS DISTINCT WITH ( fillfactor )"), @@ -510,13 +510,13 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX ON table_name ( column_name opclass ( opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US ASC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ASC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) COLLATE en_US DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name DESC ) NULLS DISTINCT WITH ( fillfactor )"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name DESC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC NULLS FIRST , ( expression ) opclass DESC ) NULLS DISTINCT WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( column_name COLLATE en_US ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON table_name USING method ( ( expression ) COLLATE en_US DESC NULLS LAST , ( expression ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor )"), @@ -607,7 +607,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) DESC NULLS LAST , column_name ASC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( column_name COLLATE en_US ASC , column_name opclass ( opclass_parameter = value ) ASC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor )"), Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , ( expression ) COLLATE en_US DESC ) NULLS NOT DISTINCT WITH ( fillfactor )"), @@ -625,7 +625,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name opclass ASC , column_name ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name opclass DESC , ( expression ) opclass DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ASC , ( expression ) NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass NULLS LAST , ( expression ) COLLATE en_US NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor )"), @@ -720,7 +720,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( column_name opclass NULLS FIRST , column_name COLLATE en_US ASC ) WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name opclass ASC ) WITH ( fillfactor = value )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value )"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) opclass ( opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass , column_name DESC ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass NULLS FIRST , column_name DESC ) WITH ( fillfactor = value )"), @@ -743,7 +743,7 @@ func TestCreateIndex(t *testing.T) { Converts("CREATE UNIQUE INDEX ON table_name ( column_name COLLATE en_US NULLS FIRST , column_name opclass DESC NULLS FIRST ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC , column_name COLLATE en_US opclass DESC NULLS FIRST ) WITH ( fillfactor = value )"), Parses("CREATE INDEX ON table_name USING method ( column_name COLLATE en_US DESC NULLS LAST , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor = value )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor = value )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value ) NULLS LAST ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST ) WITH ( fillfactor = value )"), @@ -843,11 +843,11 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( column_name opclass DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) ) NULLS DISTINCT WITH ( fillfactor = value )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value )"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( column_name DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) COLLATE en_US opclass DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US opclass ASC NULLS FIRST , column_name ASC ) NULLS DISTINCT WITH ( fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass NULLS FIRST , ( expression ) ASC ) NULLS DISTINCT WITH ( fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass NULLS FIRST , ( expression ) ASC ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name opclass ASC NULLS LAST , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value )"), @@ -866,7 +866,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value )"), @@ -968,13 +968,13 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass DESC NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) ASC , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX name ON table_name USING method ( ( expression ) , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX name ON table_name ( column_name ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), @@ -1092,7 +1092,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT WITH ( fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) ASC NULLS LAST , ( expression ) COLLATE en_US ) WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( column_name COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ) WITH ( fillfactor , fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor )"), Converts("CREATE INDEX ON ONLY table_name ( column_name ASC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) COLLATE en_US opclass ASC NULLS FIRST , ( expression ) COLLATE en_US ASC ) WITH ( fillfactor , fillfactor )"), @@ -1106,7 +1106,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) DESC NULLS LAST , column_name ASC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), - Parses("CREATE INDEX name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US ASC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), + Converts("CREATE INDEX name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US ASC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US ASC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX ON table_name USING method ( column_name opclass ( opclass_parameter = value ) , ( expression ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor )"), @@ -1221,7 +1221,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON table_name ( column_name COLLATE en_US DESC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name ( column_name ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass , ( expression ) opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass , ( expression ) opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) ASC , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), @@ -1232,7 +1232,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX ON ONLY table_name USING method ( column_name opclass DESC NULLS LAST , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name opclass DESC , column_name COLLATE en_US DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US ASC NULLS LAST , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( column_name ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) NULLS LAST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass NULLS LAST , ( expression ) NULLS LAST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), @@ -1334,7 +1334,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) ASC NULLS FIRST , column_name COLLATE en_US opclass DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), - Parses("CREATE INDEX ON table_name ( column_name COLLATE en_US , ( expression ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), + Converts("CREATE INDEX ON table_name ( column_name COLLATE en_US , ( expression ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) NULLS FIRST , column_name COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name opclass ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name opclass ASC NULLS LAST , column_name opclass ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), @@ -1349,10 +1349,10 @@ func TestCreateIndex(t *testing.T) { Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) opclass DESC NULLS FIRST , column_name DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US DESC NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), @@ -1473,12 +1473,12 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass DESC NULLS LAST , ( expression ) opclass ) WITH ( fillfactor = value , fillfactor )"), Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) opclass DESC NULLS LAST , ( expression ) ASC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) COLLATE en_US DESC ) WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) COLLATE en_US DESC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value ) DESC , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), @@ -1486,7 +1486,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , column_name DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( column_name COLLATE en_US ASC , ( expression ) DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US NULLS FIRST , column_name COLLATE en_US DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor )"), @@ -1576,25 +1576,25 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC , ( expression ) opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS LAST , column_name opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) ASC , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass DESC , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US ASC NULLS LAST , ( expression ) COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass NULLS LAST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor )"), @@ -1694,7 +1694,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US DESC , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US DESC , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) NULLS FIRST , column_name opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), @@ -1705,7 +1705,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) ASC , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) ASC , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( column_name opclass , ( expression ) COLLATE en_US NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( column_name DESC NULLS FIRST , column_name COLLATE en_US opclass NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor )"), @@ -1816,14 +1816,14 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( column_name COLLATE en_US DESC , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) opclass , ( expression ) COLLATE en_US NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name opclass ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name DESC , ( expression ) opclass ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE INDEX name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US opclass ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE INDEX name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US opclass ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value )"), @@ -1931,7 +1931,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name DESC NULLS LAST , column_name opclass ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Converts("CREATE INDEX ON table_name ( column_name opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), @@ -1949,7 +1949,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value )"), @@ -2066,7 +2066,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ASC NULLS FIRST , column_name ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Converts("CREATE UNIQUE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE INDEX name ON table_name ( column_name ASC NULLS FIRST , ( expression ) COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE INDEX name ON table_name ( column_name ASC NULLS FIRST , ( expression ) COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) opclass ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), @@ -2080,17 +2080,17 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name opclass NULLS FIRST , column_name opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value ) , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( column_name COLLATE en_US opclass ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( column_name COLLATE en_US opclass ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( ( expression ) opclass NULLS FIRST , column_name DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass NULLS FIRST , ( expression ) NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value )"), @@ -2192,26 +2192,26 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US opclass , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US ASC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US , column_name opclass ASC ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE INDEX ON table_name ( column_name opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE INDEX ON table_name ( column_name opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass DESC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US ASC , column_name COLLATE en_US NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US ASC , column_name COLLATE en_US NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) opclass , column_name opclass NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US NULLS FIRST , column_name opclass NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) opclass ASC NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US , column_name ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass DESC , ( expression ) COLLATE en_US ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass DESC , ( expression ) COLLATE en_US ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value )"), @@ -2327,11 +2327,11 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX ON ONLY table_name ( column_name ASC NULLS LAST , ( expression ) COLLATE en_US opclass ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) , column_name COLLATE en_US DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) , column_name COLLATE en_US DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ASC NULLS FIRST , ( expression ) COLLATE en_US DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US opclass NULLS LAST , column_name NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) DESC NULLS LAST , column_name NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor = value )"), @@ -2472,7 +2472,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , column_name opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) , column_name NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), - Parses("CREATE UNIQUE INDEX ON table_name ( column_name , ( expression ) opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), + Converts("CREATE UNIQUE INDEX ON table_name ( column_name , ( expression ) opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( column_name opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value )"), @@ -2600,9 +2600,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US ASC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name opclass ASC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) DESC NULLS FIRST , column_name COLLATE en_US DESC NULLS FIRST ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass DESC NULLS FIRST ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) opclass DESC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) TABLESPACE tablespace_name"), @@ -2717,7 +2717,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass DESC , column_name COLLATE en_US ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass DESC NULLS LAST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON table_name ( column_name COLLATE en_US opclass NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) DESC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT TABLESPACE tablespace_name"), @@ -2813,7 +2813,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass NULLS FIRST , column_name opclass ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ASC , column_name opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), @@ -2927,9 +2927,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass DESC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US ) WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US ) WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US ASC NULLS FIRST , column_name opclass ) WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON table_name ( ( expression ) opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON table_name ( ( expression ) opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( column_name COLLATE en_US ASC NULLS FIRST , column_name ASC ) WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) ASC ) WITH ( fillfactor ) TABLESPACE tablespace_name"), @@ -3049,7 +3049,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) opclass DESC NULLS LAST , column_name COLLATE en_US ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , column_name ASC ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , column_name ASC ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ASC NULLS LAST , column_name ASC ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) DESC , ( expression ) ASC ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass NULLS FIRST , column_name COLLATE en_US ASC ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), @@ -3059,11 +3059,11 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( column_name opclass NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value ) DESC , column_name DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US NULLS LAST , ( expression ) opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass , ( expression ) COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name opclass ASC , ( expression ) COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name opclass ASC NULLS FIRST , ( expression ) COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), @@ -3157,9 +3157,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) , ( expression ) COLLATE en_US ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON table_name ( ( expression ) opclass DESC NULLS LAST , column_name COLLATE en_US opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US opclass ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( column_name opclass , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor ) TABLESPACE tablespace_name"), @@ -3302,7 +3302,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX ON table_name ( ( expression ) opclass NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX ON table_name ( ( expression ) opclass NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name ASC NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US ASC NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name opclass ASC NULLS FIRST , column_name COLLATE en_US opclass ASC NULLS FIRST ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), @@ -3397,7 +3397,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name COLLATE en_US opclass DESC , column_name opclass DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass , column_name opclass ( opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US DESC NULLS FIRST , ( expression ) ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US DESC NULLS FIRST , ( expression ) ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US ASC NULLS LAST , column_name opclass ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) ASC ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( column_name opclass NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), @@ -3405,7 +3405,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( column_name COLLATE en_US opclass DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC , ( expression ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( column_name opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name opclass NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), @@ -3524,9 +3524,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX ON ONLY table_name ( ( expression ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass , column_name opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass DESC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US NULLS FIRST , column_name COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US NULLS LAST , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( column_name opclass ASC NULLS LAST , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), @@ -3545,7 +3545,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name ASC , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) ASC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ASC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass DESC , ( expression ) DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , ( expression ) COLLATE en_US DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) COLLATE en_US ASC NULLS FIRST , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value ) TABLESPACE tablespace_name"), @@ -3629,12 +3629,12 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( ( expression ) ASC , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) opclass NULLS FIRST , column_name COLLATE en_US DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), @@ -3642,7 +3642,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US DESC , column_name NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name COLLATE en_US opclass NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name COLLATE en_US opclass DESC , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), @@ -3751,9 +3751,9 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX name ON table_name USING method ( ( expression ) NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name opclass ( opclass_parameter = value ) NULLS LAST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , column_name opclass ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , column_name opclass ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , ( expression ) opclass ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass NULLS LAST , column_name opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) opclass ASC , ( expression ) opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( column_name opclass DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), @@ -3761,24 +3761,24 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) DESC , ( expression ) COLLATE en_US opclass ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name COLLATE en_US ASC , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( column_name COLLATE en_US NULLS FIRST , ( expression ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , column_name COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( column_name opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( column_name COLLATE en_US NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX ON table_name ( column_name DESC NULLS FIRST , ( expression ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX ON table_name ( column_name DESC NULLS FIRST , ( expression ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass DESC , ( expression ) COLLATE en_US ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) ASC NULLS LAST , column_name opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), @@ -3869,22 +3869,22 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name COLLATE en_US NULLS LAST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( column_name opclass ( opclass_parameter = value ) NULLS LAST , column_name ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) , ( expression ) COLLATE en_US ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US DESC NULLS LAST , column_name DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ASC , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US DESC , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ASC , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US DESC , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( column_name COLLATE en_US opclass ASC , column_name COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name opclass DESC , column_name COLLATE en_US NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass NULLS FIRST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) opclass ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor ) TABLESPACE tablespace_name"), @@ -4112,31 +4112,31 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US ASC NULLS FIRST , column_name COLLATE en_US opclass DESC NULLS LAST ) INCLUDE ( column_name , column_name ) WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) , column_name ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) , column_name ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name DESC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) opclass NULLS FIRST , column_name DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) opclass NULLS FIRST , column_name DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC , column_name COLLATE en_US DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS FIRST , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass DESC NULLS FIRST , column_name COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS LAST , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name USING method ( ( expression ) opclass DESC NULLS LAST , column_name ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name opclass ASC NULLS FIRST , ( expression ) opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass DESC , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass DESC , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) DESC , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , ( expression ) COLLATE en_US opclass ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US DESC , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US DESC , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name NULLS LAST , ( expression ) COLLATE en_US opclass DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name DESC NULLS LAST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name ( column_name opclass NULLS LAST , column_name COLLATE en_US NULLS LAST ) NULLS DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), @@ -4237,8 +4237,8 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( ( expression ) COLLATE en_US , column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( column_name opclass ( opclass_parameter = value ) ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( column_name COLLATE en_US ASC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( ( expression ) DESC , column_name COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , column_name COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor ) TABLESPACE tablespace_name"), @@ -4366,7 +4366,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US DESC NULLS LAST , ( expression ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name DESC NULLS LAST , ( expression ) COLLATE en_US ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4380,16 +4380,16 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US DESC ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE INDEX ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) ASC , column_name ASC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name opclass DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) opclass DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) opclass DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US opclass DESC , column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US ASC NULLS FIRST , ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON ONLY table_name USING method ( column_name , column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name COLLATE en_US NULLS LAST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST ) WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4482,14 +4482,14 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name opclass ASC NULLS FIRST , ( expression ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , column_name COLLATE en_US ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON table_name ( ( expression ) COLLATE en_US ASC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX name ON ONLY table_name ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name ASC NULLS FIRST , column_name opclass ( opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name ( column_name opclass DESC NULLS LAST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( column_name NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US NULLS LAST , column_name DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS FIRST , column_name opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , ( expression ) COLLATE en_US opclass DESC ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( ( expression ) COLLATE en_US NULLS FIRST , column_name COLLATE en_US opclass NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name ( column_name COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US NULLS LAST , ( expression ) ASC NULLS FIRST ) NULLS DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4612,7 +4612,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) , column_name DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) DESC , ( expression ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) opclass ( opclass_parameter = value ) ASC , column_name COLLATE en_US DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) DESC NULLS LAST , ( expression ) opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ASC NULLS LAST , column_name COLLATE en_US opclass DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4620,7 +4620,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) opclass ASC , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX ON ONLY table_name ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( column_name COLLATE en_US DESC , ( expression ) opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( column_name COLLATE en_US DESC , ( expression ) opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name USING method ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , ( expression ) COLLATE en_US opclass NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON table_name USING method ( ( expression ) opclass DESC NULLS LAST , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4717,12 +4717,12 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX name ON ONLY table_name USING method ( column_name DESC , ( expression ) COLLATE en_US opclass ASC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass DESC NULLS FIRST , ( expression ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON ONLY table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST ) INCLUDE ( column_name , column_name ) NULLS NOT DISTINCT WITH ( fillfactor , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass DESC NULLS FIRST , ( expression ) COLLATE en_US ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name COLLATE en_US NULLS LAST , ( expression ) COLLATE en_US opclass ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ASC , column_name opclass ( opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON table_name ( ( expression ) COLLATE en_US opclass ASC , column_name opclass ( opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY name ON table_name USING method ( column_name ASC , ( expression ) opclass ( opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX name ON table_name ( ( expression ) COLLATE en_US DESC , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON ONLY table_name ( column_name opclass ( opclass_parameter = value ) DESC NULLS FIRST , column_name ASC ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Converts("CREATE UNIQUE INDEX name ON ONLY table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US ASC ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX name ON ONLY table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ASC ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4736,8 +4736,8 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE UNIQUE INDEX ON table_name USING method ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) , column_name opclass ( opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY IF NOT EXISTS name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) DESC NULLS LAST , column_name ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) DESC NULLS FIRST , column_name DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX ON ONLY table_name ( column_name opclass ( opclass_parameter = value , opclass_parameter = value ) DESC , ( expression ) opclass ( opclass_parameter = value ) ASC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE INDEX IF NOT EXISTS name ON ONLY table_name ( ( expression ) DESC NULLS FIRST , column_name DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX CONCURRENTLY name ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value ) NULLS FIRST , column_name COLLATE en_US DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name ( ( expression ) opclass DESC , ( expression ) COLLATE en_US opclass DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX name ON table_name ( column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) NULLS LAST , ( expression ) COLLATE en_US opclass DESC NULLS FIRST ) WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), @@ -4977,7 +4977,7 @@ func TestCreateIndex(t *testing.T) { Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name opclass DESC NULLS FIRST , column_name COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( column_name COLLATE en_US opclass , ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX IF NOT EXISTS name ON table_name USING method ( column_name COLLATE en_US opclass , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), - Parses("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), + Converts("CREATE UNIQUE INDEX IF NOT EXISTS name ON table_name ( ( expression ) opclass DESC NULLS FIRST , column_name opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE INDEX CONCURRENTLY ON ONLY table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) opclass ( opclass_parameter = value , opclass_parameter = value ) ASC NULLS LAST , column_name COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), Parses("CREATE UNIQUE INDEX ON table_name USING method ( ( expression ) COLLATE en_US opclass ( opclass_parameter = value ) NULLS FIRST , ( expression ) COLLATE en_US opclass ( opclass_parameter = value , opclass_parameter = value ) ) NULLS NOT DISTINCT WITH ( fillfactor = value , fillfactor = value ) TABLESPACE tablespace_name"), diff --git a/testing/go/enginetest/doltgres_engine_test.go b/testing/go/enginetest/doltgres_engine_test.go index 1f8e94d1f8..89da9e35e1 100755 --- a/testing/go/enginetest/doltgres_engine_test.go +++ b/testing/go/enginetest/doltgres_engine_test.go @@ -792,6 +792,12 @@ func TestIndexes(t *testing.T) { enginetest.TestIndexes(t, harness) } +func TestIndexedExpressions(t *testing.T) { + harness := newDoltgresServerHarness(t) + defer harness.Close() + enginetest.TestIndexedExpressions(t, harness) +} + func TestIndexPrefix(t *testing.T) { t.Skip() harness := newDoltgresServerHarness(t) diff --git a/testing/go/enginetest/doltgres_harness_test.go b/testing/go/enginetest/doltgres_harness_test.go index b1e2e170c5..a442147703 100644 --- a/testing/go/enginetest/doltgres_harness_test.go +++ b/testing/go/enginetest/doltgres_harness_test.go @@ -113,12 +113,23 @@ var defaultSkippedQueries = []string{ "show create table fk_tbl", // we create an extra key for the FK that vanilla gms does not "show indexes from", // we create / expose extra indexes (for foreign keys) "show global variables like", // we set extra variables + "show columns from", // MySQL SHOW variant with no PostgreSQL equivalent + "show extended columns from", // MySQL SHOW variant with no PostgreSQL equivalent + // unsupported doltgres syntax // " WITH ", // " OVER ", // string functions are broken due to incompatible types "HEX(", "TO_BASE64(", + // MySQL-specific functions not supported in doltgresql + "json_unquote", // MySQL JSON function + "year(", // YEAR() functional index hits a type-incompatibility in doltgresql + + // MySQL-specific operators and syntax not supported in PostgreSQL + "<=>", // null-safe equality (PostgreSQL uses IS NOT DISTINCT FROM) + "modify column", // MySQL ALTER TABLE MODIFY COLUMN syntax + "column first", // MySQL ADD COLUMN ... FIRST positioning } // Setup sets the setup scripts for this DoltHarness's engine @@ -729,6 +740,10 @@ func getDmlResult(rows pgx.Rows, query string) (sql.Row, bool) { return sql.NewRow(gmstypes.NewOkResult(0)), true case strings.HasPrefix(tag.String(), "ALTER TABLE"): return sql.NewRow(gmstypes.NewOkResult(0)), true + case strings.HasPrefix(tag.String(), "CREATE INDEX"): + return sql.NewRow(gmstypes.NewOkResult(0)), true + case strings.HasPrefix(tag.String(), "DROP INDEX"): + return sql.NewRow(gmstypes.NewOkResult(0)), true case strings.HasPrefix(tag.String(), "TRUNCATE"): return sql.NewRow(gmstypes.NewOkResult(0)), true case strings.HasPrefix(tag.String(), "SET"): @@ -814,12 +829,15 @@ func unwrapResultColumn(v any) (any, error) { } } +// IsServerBacked implements enginetest.ServerBackedEngine, marking DoltgresQueryEngine +// as a server-backed engine so that plan-inspection checks (evalIndexTest, etc.) are +// skipped, matching the behavior of GMS's own ServerQueryEngine. +func (d *DoltgresQueryEngine) IsServerBacked() bool { return true } + func (d *DoltgresQueryEngine) EngineAnalyzer() *analyzer.Analyzer { // TODO: this is a shim to get simple tests to work, we need to restructure the tests to not require access to // an analyzer - catalog := &analyzer.Catalog{} - catalog.AuthHandler = sql.GetAuthorizationHandlerFactory().CreateHandler(catalog) - + catalog := analyzer.NewCatalog(nil, sql.EngineOverrides{}) return &analyzer.Analyzer{ Catalog: catalog, } diff --git a/testing/go/index_test.go b/testing/go/index_test.go index d0982d2a0a..dfd9b78cde 100644 --- a/testing/go/index_test.go +++ b/testing/go/index_test.go @@ -1076,10 +1076,6 @@ func TestBasicIndexing(t *testing.T) { // ignored warning-generating unsupported options Query: "CREATE INDEX v1_idx ON test(v1 varchar_pattern_ops) WITH (storage_opt1 = foo) TABLESPACE tablespace_name;", }, - { - Query: "CREATE INDEX v1_idx2 ON test( (concat(v1, v1)) ) ;", - ExpectedErr: "not yet supported", - }, { Query: "CREATE INDEX v1_idx2 ON test using hash (v1);", ExpectedErr: "not yet supported",