public final class ParserContext extends Object
This value object encapsulates all inputs required for SQL parsing, providing clean separation between input configuration and parser implementation. Once built, a ParserContext instance cannot be modified (immutable).
Design Pattern: Value Object + Builder
Usage Example:
ParserContext context = new ParserContext.Builder(EDbVendor.dbvoracle)
.sqlText("SELECT * FROM employees WHERE salary > 50000")
.enablePartialParsing(true)
.metaDatabase(myMetaDatabase)
.build();
SqlParser,
SqlParseResult| Modifier and Type | Class and Description |
|---|---|
static class |
ParserContext.Builder
Builder for constructing ParserContext instances.
|
| Modifier and Type | Method and Description |
|---|---|
Stack<gudusoft.gsqlparser.compiler.TFrame> |
getFrameStack() |
Object |
getGsqlparser()
Get reference to TGSqlParser facade for backfilling statement metadata.
|
IMetaDatabase |
getMetaDatabase() |
EOBTenantMode |
getOceanBaseTenantMode()
Get the OceanBase tenant compatibility mode mirrored from the owning
TGSqlParser. |
String |
getSqlCharset() |
TSQLEnv |
getSqlEnv() |
String |
getSqlFilename() |
InputStream |
getSqlInputStream() |
ISQLStatementHandle |
getSqlStatementHandle() |
String |
getSqlText() |
TeradataUtilityType |
getTeradataUtilityType() |
ITokenHandle |
getTokenHandle() |
ITokenListHandle |
getTokenListHandle() |
EDbVendor |
getVendor() |
boolean |
isDumpResolverLog() |
boolean |
isEnablePartialParsing() |
boolean |
isEnableTimeLogging() |
boolean |
isOnlyNeedRawParseTree() |
boolean |
isSinglePLBlock() |
String |
toString() |
public String getSqlText()
public String getSqlFilename()
public InputStream getSqlInputStream()
public String getSqlCharset()
public boolean isEnablePartialParsing()
public boolean isSinglePLBlock()
public boolean isOnlyNeedRawParseTree()
public TeradataUtilityType getTeradataUtilityType()
public EOBTenantMode getOceanBaseTenantMode()
TGSqlParser. Always non-null. Meaningful
only when getVendor() is dbvoceanbase; otherwise
defaults to EOBTenantMode.MYSQL and is ignored by other
vendor parsers.public ISQLStatementHandle getSqlStatementHandle()
public ITokenHandle getTokenHandle()
public ITokenListHandle getTokenListHandle()
public IMetaDatabase getMetaDatabase()
public boolean isDumpResolverLog()
public boolean isEnableTimeLogging()
public Stack<gudusoft.gsqlparser.compiler.TFrame> getFrameStack()
public Object getGsqlparser()