module SqlStmtLib

Constants

ALL_DATA_FIELDS

calling uniq on this in case some fields end up in multiple categories

ARRAY_DATA_FIELDS
FLAG_KEYWORDS
MULTI_VALUE_KEYWORDS
SINGLE_VALUE_KEYWORDS
SPECIAL_DATA_FIELDS

:table_ids is a set of all table names and aliases, including ones added by a join

SqlData
SqlJoin

kwstr is the keyword string, like 'JOIN' or 'LEFT JOIN' table is a SqlTable object, representing the table being joined to on_expr is the ON expression for the join

SqlTable

:str is the full original string specifying the table, like 'frog f' or 'frog AS f' or 'frog' :name is the full name of the table :alias is the alias specified for the table, or if none is specified, it's the same as :name

this may be the wrong approach, but for now at least, it seems the most intuitive/useful option

:index is used to specify a “USE INDEX” clause