diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-05-26 12:51:05 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-05-26 12:51:05 -0400 |
commit | 0461b66e361f56560aaa50e1bd006e36e8bedc6e (patch) | |
tree | 97410e35870d04d8fa5c38a1397a5df91feb650c /src/backend/utils/adt/ruleutils.c | |
parent | 9c34a05b7d2304eac3fdc5e9db9fcd0d7c72883f (diff) | |
download | postgresql-0461b66e361f56560aaa50e1bd006e36e8bedc6e.tar.gz postgresql-0461b66e361f56560aaa50e1bd006e36e8bedc6e.zip |
Fix pg_dump to not emit invalid SQL for an empty operator class.
If an operator class has no operators or functions, and doesn't need
a STORAGE clause, we emitted "CREATE OPERATOR CLASS ... AS ;" which
is syntactically invalid. Fix by forcing a STORAGE clause to be
emitted anyway in this case.
(At some point we might consider changing the grammar to allow CREATE
OPERATOR CLASS without an opclass_item_list. But probably we'd want to
omit the AS in that case, so that wouldn't fix this pg_dump issue anyway.)
It's been like this all along, so back-patch to all supported branches.
Daniel Gustafsson, tweaked by me to avoid a dangling-pointer bug
Discussion: https://postgr.es/m/D9E5FC64-7A37-4F3D-B946-7E4FB468F88A@yesql.se
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
0 files changed, 0 insertions, 0 deletions