Files
chaisql/internal/sql/parser/reindex.go
2024-02-17 14:27:02 +04:00

25 lines
538 B
Go

package parser
import (
"github.com/chaisql/chai/internal/query/statement"
"github.com/chaisql/chai/internal/sql/scanner"
)
// parseReindexStatement parses a reindex statement.
func (p *Parser) parseReIndexStatement() (statement.Statement, error) {
stmt := statement.NewReIndexStatement()
// Parse "REINDEX".
if err := p.ParseTokens(scanner.REINDEX); err != nil {
return nil, err
}
tok, _, lit := p.ScanIgnoreWhitespace()
if tok == scanner.IDENT {
stmt.TableOrIndexName = lit
} else {
p.Unscan()
}
return stmt, nil
}