NewWithDialect creates a new Tokenizer configured for the given SQL dialect. Dialect-specific keywords are recognized based on the dialect parameter. If dialect is empty or unknown, defaults to DialectPostgreSQL.
(dialect keywords.SQLDialect)
| 305 | // Dialect-specific keywords are recognized based on the dialect parameter. |
| 306 | // If dialect is empty or unknown, defaults to DialectPostgreSQL. |
| 307 | func NewWithDialect(dialect keywords.SQLDialect) (*Tokenizer, error) { |
| 308 | if dialect == "" || dialect == keywords.DialectUnknown { |
| 309 | dialect = keywords.DialectPostgreSQL |
| 310 | } |
| 311 | kw := keywords.New(dialect, true) |
| 312 | return &Tokenizer{ |
| 313 | keywords: kw, |
| 314 | dialect: dialect, |
| 315 | pos: NewPosition(1, 0), |
| 316 | lineStarts: []int{0}, |
| 317 | }, nil |
| 318 | } |
| 319 | |
| 320 | // Dialect returns the SQL dialect configured for this tokenizer. |
| 321 | func (t *Tokenizer) Dialect() keywords.SQLDialect { |