11 lines
517 B
Plaintext
11 lines
517 B
Plaintext
CreateIndexStmt <- Unique? 'INDEX' IfNotExists? IndexName? 'ON' BaseTableName IndexType? Parens(List(IndexElement)) WithList? WhereClause?
|
|
|
|
WithList <- 'WITH' Parens(List(RelOption)) / Oids
|
|
Oids <- ('WITH' / 'WITHOUT') 'OIDS'
|
|
IndexElement <- Expression DescOrAsc? NullsFirstOrLast?
|
|
Unique <- 'UNIQUE'
|
|
IndexType <- 'USING' Identifier
|
|
RelOption <- ColLabel ('.' ColLabel)* ('=' DefArg)?
|
|
DefArg <- FuncType / ReservedKeyword / StringLiteral / NumberLiteral / 'NONE'
|
|
FuncType <- Type / ('SETOF'? TypeFuncName '%' 'TYPE')
|