Documentation
¶
Index ¶
- func Completion(ctx context.Context, cCtx base.CompletionContext, statement string, ...) ([]base.Candidate, error)
- func Diagnose(_ context.Context, _ base.DiagnoseContext, statement string) ([]base.Diagnostic, error)
- func GetStatementTypes(asts []base.AST) ([]string, error)
- func NormalizeRedshiftQualifiedName(ctx parser.IQualified_nameContext) []string
- func ParseRedshift(sql string) ([]*base.ParseResult, error)
- func SplitSQL(statement string) ([]base.SingleSQL, error)
- func ValidateSQLForEditor(statement string) (bool, bool, error)
- type CTETableListener
- type Completer
- type CompletionMap
- type ObjectFlags
- type TableRefListener
- func (l *TableRefListener) EnterSelect_with_parens(_ *parser.Select_with_parensContext)
- func (l *TableRefListener) EnterTable_ref(ctx *parser.Table_refContext)
- func (l *TableRefListener) ExitSelect_with_parens(_ *parser.Select_with_parensContext)
- func (l *TableRefListener) ExitTable_ref(ctx *parser.Table_refContext)
- type TargetAliasListener
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Completion ¶
func Completion(ctx context.Context, cCtx base.CompletionContext, statement string, caretLine int, caretOffset int) ([]base.Candidate, error)
Completion is the entry point of Redshift code completion.
func Diagnose ¶
func Diagnose(_ context.Context, _ base.DiagnoseContext, statement string) ([]base.Diagnostic, error)
func GetStatementTypes ¶
GetStatementTypes returns the statement types from the given AST.
func NormalizeRedshiftQualifiedName ¶
func NormalizeRedshiftQualifiedName(ctx parser.IQualified_nameContext) []string
func ParseRedshift ¶
func ParseRedshift(sql string) ([]*base.ParseResult, error)
ParseRedshift parses the given SQL statement and returns a list of ParseResults. Each ParseResult represents one statement with its AST, tokens, and base line offset.
func ValidateSQLForEditor ¶
ValidateSQLForEditor validates the SQL statement for SQL editor. We support the following SQLs: 1. EXPLAIN statement, except EXPLAIN ANALYZE (unless it's EXPLAIN ANALYZE SELECT) 2. SELECT statement We also support CTE with SELECT statements, but not with DML statements. Returns (canRunInReadOnly, returnsData, error): - canRunInReadOnly: whether all queries can run in read-only mode - returnsData: whether all queries return data - error: parsing error if the statement is invalid
Types ¶
type CTETableListener ¶
type CTETableListener struct {
*parser.BaseRedshiftParserListener
// contains filtered or unexported fields
}
func (*CTETableListener) EnterCommon_table_expr ¶
func (l *CTETableListener) EnterCommon_table_expr(ctx *parser.Common_table_exprContext)
type Completer ¶
type Completer struct {
// contains filtered or unexported fields
}
func NewStandardCompleter ¶
func NewTrickyCompleter ¶
type CompletionMap ¶
func (CompletionMap) Insert ¶
func (m CompletionMap) Insert(entry base.Candidate)
type ObjectFlags ¶
type ObjectFlags int
const ( ObjectFlagsShowSchemas ObjectFlags = 1 << iota ObjectFlagsShowTables ObjectFlagsShowColumns ObjectFlagsShowFirst ObjectFlagsShowSecond )
type TableRefListener ¶
type TableRefListener struct {
*parser.BaseRedshiftParserListener
// contains filtered or unexported fields
}
func (*TableRefListener) EnterSelect_with_parens ¶
func (l *TableRefListener) EnterSelect_with_parens(_ *parser.Select_with_parensContext)
func (*TableRefListener) EnterTable_ref ¶
func (l *TableRefListener) EnterTable_ref(ctx *parser.Table_refContext)
func (*TableRefListener) ExitSelect_with_parens ¶
func (l *TableRefListener) ExitSelect_with_parens(_ *parser.Select_with_parensContext)
func (*TableRefListener) ExitTable_ref ¶
func (l *TableRefListener) ExitTable_ref(ctx *parser.Table_refContext)
type TargetAliasListener ¶
type TargetAliasListener struct {
*parser.BaseRedshiftParserListener
// contains filtered or unexported fields
}
func (*TargetAliasListener) EnterTarget_alias ¶
func (l *TargetAliasListener) EnterTarget_alias(ctx *parser.Target_aliasContext)