Class InferenceEvidence
Object
gudusoft.gsqlparser.resolver2.inference.InferenceEvidence
Represents a piece of evidence for column inference.
Evidence is collected from various sources in the SQL statement: - Column references in WHERE clauses - JOIN conditions - SELECT list expressions - INSERT statements (column lists) - etc.
Each piece of evidence has a confidence weight that contributes to the overall inference confidence.
Example:
SELECT t1.* FROM t1 WHERE t1.id = 100
^^
Evidence: "id" exists in t1 (from WHERE clause, high confidence)
-
Constructor Summary
ConstructorsConstructorDescriptionInferenceEvidence(String columnName, String tableName, EvidenceType evidenceType, double confidence, TParseTreeNode sourceNode, String description) -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic InferenceEvidencefromInsertColumns(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from INSERT statement column list.static InferenceEvidencefromJoinCondition(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from a JOIN condition.static InferenceEvidencefromQualifiedReference(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from a qualified column reference.static InferenceEvidencefromSelectList(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from SELECT list.static InferenceEvidencefromUnqualifiedReference(String columnName, String tableName, TParseTreeNode sourceNode, int tableCount) Create evidence from an unqualified column reference.static InferenceEvidencefromUpdateSet(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from UPDATE statement.doubleinthashCode()toString()
-
Constructor Details
-
InferenceEvidence
public InferenceEvidence(String columnName, String tableName, EvidenceType evidenceType, double confidence, TParseTreeNode sourceNode, String description)
-
-
Method Details
-
getColumnName
-
getTableName
-
getEvidenceType
-
getConfidence
-
getSourceNode
-
getDescription
-
fromQualifiedReference
public static InferenceEvidence fromQualifiedReference(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from a qualified column reference. Example: WHERE t1.id = 100 -
fromUnqualifiedReference
public static InferenceEvidence fromUnqualifiedReference(String columnName, String tableName, TParseTreeNode sourceNode, int tableCount) Create evidence from an unqualified column reference. Example: WHERE id = 100 (when only one table in scope) -
fromJoinCondition
public static InferenceEvidence fromJoinCondition(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from a JOIN condition. Example: JOIN t2 ON t1.id = t2.t1_id -
fromSelectList
public static InferenceEvidence fromSelectList(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from SELECT list. Example: SELECT t1.name, t1.age FROM t1 -
fromInsertColumns
public static InferenceEvidence fromInsertColumns(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from INSERT statement column list. Example: INSERT INTO t1 (id, name) VALUES (...) -
fromUpdateSet
public static InferenceEvidence fromUpdateSet(String columnName, String tableName, TParseTreeNode sourceNode) Create evidence from UPDATE statement. Example: UPDATE t1 SET name = 'value' -
toString
-
equals
-
hashCode
-