pgsql: Extend the parser location infrastructure to include a location
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Extend the parser location infrastructure to include a location |
Дата | |
Msg-id | 20080828230948.E72F0755315@cvs.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Log Message: ----------- Extend the parser location infrastructure to include a location field in most node types used in expression trees (both before and after parse analysis). This allows us to place an error cursor in many situations where we formerly could not, because the information wasn't available beyond the very first level of parse analysis. There's a fair amount of work still to be done to persuade individual ereport() calls to actually include an error location, but this gets the initdb-forcing part of the work out of the way; and the situation is already markedly better than before for complaints about unimplementable implicit casts, such as CASE and UNION constructs with incompatible alternative data types. Per my proposal of a few days ago. Modified Files: -------------- pgsql/src/backend/catalog: heap.c (r1.338 -> r1.339) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.338&r2=1.339) pgsql/src/backend/commands: prepare.c (r1.90 -> r1.91) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c?r1=1.90&r2=1.91) tablecmds.c (r1.263 -> r1.264) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.263&r2=1.264) typecmds.c (r1.122 -> r1.123) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c?r1=1.122&r2=1.123) pgsql/src/backend/nodes: copyfuncs.c (r1.401 -> r1.402) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.401&r2=1.402) equalfuncs.c (r1.328 -> r1.329) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c?r1=1.328&r2=1.329) makefuncs.c (r1.58 -> r1.59) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/makefuncs.c?r1=1.58&r2=1.59) nodeFuncs.c (r1.30 -> r1.31) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/nodeFuncs.c?r1=1.30&r2=1.31) outfuncs.c (r1.335 -> r1.336) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.335&r2=1.336) readfuncs.c (r1.212 -> r1.213) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c?r1=1.212&r2=1.213) pgsql/src/backend/optimizer/plan: createplan.c (r1.246 -> r1.247) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.246&r2=1.247) subselect.c (r1.139 -> r1.140) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c?r1=1.139&r2=1.140) pgsql/src/backend/optimizer/prep: prepqual.c (r1.58 -> r1.59) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepqual.c?r1=1.58&r2=1.59) preptlist.c (r1.90 -> r1.91) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/preptlist.c?r1=1.90&r2=1.91) prepunion.c (r1.154 -> r1.155) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.154&r2=1.155) pgsql/src/backend/optimizer/util: clauses.c (r1.265 -> r1.266) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.265&r2=1.266) var.c (r1.77 -> r1.78) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/var.c?r1=1.77&r2=1.78) pgsql/src/backend/parser: analyze.c (r1.377 -> r1.378) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c?r1=1.377&r2=1.378) gram.y (r2.618 -> r2.619) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.618&r2=2.619) parse_agg.c (r1.81 -> r1.82) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_agg.c?r1=1.81&r2=1.82) parse_clause.c (r1.176 -> r1.177) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_clause.c?r1=1.176&r2=1.177) parse_coerce.c (r2.164 -> r2.165) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_coerce.c?r1=2.164&r2=2.165) parse_expr.c (r1.231 -> r1.232) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c?r1=1.231&r2=1.232) parse_func.c (r1.205 -> r1.206) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_func.c?r1=1.205&r2=1.206) parse_node.c (r1.101 -> r1.102) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_node.c?r1=1.101&r2=1.102) parse_oper.c (r1.104 -> r1.105) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_oper.c?r1=1.104&r2=1.105) parse_relation.c (r1.133 -> r1.134) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_relation.c?r1=1.133&r2=1.134) parse_target.c (r1.161 -> r1.162) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_target.c?r1=1.161&r2=1.162) parse_utilcmd.c (r2.15 -> r2.16) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_utilcmd.c?r1=2.15&r2=2.16) pgsql/src/backend/rewrite: rewriteHandler.c (r1.178 -> r1.179) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteHandler.c?r1=1.178&r2=1.179) rewriteManip.c (r1.111 -> r1.112) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteManip.c?r1=1.111&r2=1.112) pgsql/src/include/catalog: catversion.h (r1.480 -> r1.481) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.480&r2=1.481) pgsql/src/include/nodes: makefuncs.h (r1.61 -> r1.62) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/makefuncs.h?r1=1.61&r2=1.62) nodeFuncs.h (r1.27 -> r1.28) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodeFuncs.h?r1=1.27&r2=1.28) parsenodes.h (r1.371 -> r1.372) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.371&r2=1.372) primnodes.h (r1.139 -> r1.140) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/primnodes.h?r1=1.139&r2=1.140) pgsql/src/include/parser: parse_coerce.h (r1.76 -> r1.77) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_coerce.h?r1=1.76&r2=1.77) parse_node.h (r1.54 -> r1.55) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_node.h?r1=1.54&r2=1.55) pgsql/src/test/regress/expected: arrays.out (r1.38 -> r1.39) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/arrays.out?r1=1.38&r2=1.39) select_implicit.out (r1.15 -> r1.16) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/select_implicit.out?r1=1.15&r2=1.16) select_implicit_1.out (r1.7 -> r1.8) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/select_implicit_1.out?r1=1.7&r2=1.8) select_implicit_2.out (r1.4 -> r1.5) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/select_implicit_2.out?r1=1.4&r2=1.5) xml.out (r1.20 -> r1.21) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/xml.out?r1=1.20&r2=1.21) xml_1.out (r1.21 -> r1.22) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/xml_1.out?r1=1.21&r2=1.22)
В списке pgsql-committers по дате отправления:
Предыдущее
От: dpage@pgfoundry.org (Dave Page)Дата:
Сообщение: stackbuilder - wizard: Use the project binary and osurce directories,
Следующее
От: petere@postgresql.org (Peter Eisentraut)Дата:
Сообщение: pgsql: Remove all traces that suggest that a non-Bison yacc might be