You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
postgres/src/backend/parser
Peter Eisentraut aff53b27f0 Make the yacc rules safe for parallel make. See discussion on pgsql-patches 24 years ago
..
.cvsignore Add .cvsignore file so cvs doesn't complain if you have lex/yacc 27 years ago
Makefile Make the yacc rules safe for parallel make. See discussion on pgsql-patches 24 years ago
README cleanup 28 years ago
analyze.c Tweak parser so that there is a defined representation for datatypes 24 years ago
gram.y Update keyword lists per suggestions by Peter. There are now four 24 years ago
keywords.c Remove gratuitous discrepancy between extract() and date_part(), 25 years ago
parse_agg.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago
parse_clause.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago
parse_coerce.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago
parse_expr.c If the alternatives for a CASE construct all have the same typmod, 24 years ago
parse_func.c Clean up a bunch of ScanKeyEntryInitialize calls that weren't bothering 24 years ago
parse_node.c Another pgindent run. Fixes enum indenting, and improves #endif 25 years ago
parse_oper.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago
parse_relation.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
parse_target.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
parse_type.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago
parser.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 25 years ago
scan.l Change addlit() to not assume its input is null-terminated, so that we 25 years ago
scansup.c pgindent run on all C files. Java run to follow. initdb/regression 25 years ago

README

This directory does more than tokenize and parse SQL queries.  It also
creates Query structures for the various complex queries that is passed
to the optimizer and then executor.

parser.c things start here
scan.l break query into tokens
scansup.c handle escapes in input
keywords.c turn keywords into specific tokens
gram.y parse the tokens and fill query-type-specific structures
analyze.c handle post-parse processing for each query type
parse_clause.c handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c used for coercing expressions of different types
parse_expr.c handle expressions like col, col + 3, x = 3 or x = 4
parse_oper.c handle operations in expressions
parse_agg.c handle aggregates, like SUM(col1), AVG(col2), ...
parse_func.c handle functions, table.column and column identifiers
parse_node.c create nodes for various structures
parse_target.c handle the result list of the query
parse_relation.c support routines for tables and column handling
parse_type.c support routines for type handling