-hackers,
I think commit 82ed7748b710e3ddce3f7ebc74af80fe4869492f created some confusion that should be cleaned up before
release. I'd like some guidance on what the intended behavior is before I submit a patch for this, though:
+ALTER SUBSCRIPTION mysubscription SET PUBLICATION nosuchpub WITH (copy_data = false, refresh = false);
+ALTER SUBSCRIPTION mysubscription ADD PUBLICATION nosuchpub WITH (copy_data = false, refresh = false);
+ALTER SUBSCRIPTION mysubscription DROP PUBLICATION nosuchpub WITH (copy_data = false, refresh = false);
+ERROR: unrecognized subscription parameter: "copy_data"
+ALTER SUBSCRIPTION mysubscription SET (copy_data = false, refresh = false);
+ERROR: unrecognized subscription parameter: "copy_data"
First, it's quite odd to say that "copy_data" is unrecognized in the third and fourth ALTER commands when it was
recognizedjust fine in the first two.
More than that, though, the docs in doc/src/sgml/ref/alter_subscription.sgml refer to this part of the grammar in the
firstthree ALTER commands as a "set_publication_option", not as a "subscription_parameter", a term which is only used
inthe grammar for other forms of the ALTER command. Per the grammar in the docs, "copy_data" is not a valid
set_publication_option,only "refresh" is.
Should the first three ALTER commands fail with an error about "copy_data" being an invalid set_publication_option?
Shouldthey succeed, in which case the docs should mention that "refresh" is not the only valid set_publication_option?
Something else, perhaps?
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company