]> granicus.if.org Git - postgresql/commitdiff
Improve errhint() about replication slot naming restrictions.
authorAndres Freund <andres@anarazel.de>
Sat, 3 Oct 2015 13:29:08 +0000 (15:29 +0200)
committerAndres Freund <andres@anarazel.de>
Sat, 3 Oct 2015 13:29:08 +0000 (15:29 +0200)
The existing hint talked about "may only contain letters", but the
actual requirement is more strict: only lower case letters are allowed.

Reported-By: Rushabh Lathia
Author: Rushabh Lathia
Discussion: AGPqQf2x50qcwbYOBKzb4x75sO_V3g81ZsA8+Ji9iN5t_khFhQ@mail.gmail.com
Backpatch: 9.4-, where replication slots were added

contrib/test_decoding/expected/ddl.out
src/backend/replication/slot.c

index 11b2d9c07f46aee54060b061c27fe7cea351a789..57a1289ea75d5a5dfbd7a8e8990ad508ed1cdbef 100644 (file)
@@ -12,7 +12,7 @@ ERROR:  replication slot "regression_slot" already exists
 -- fail because of an invalid name
 SELECT 'init' FROM pg_create_logical_replication_slot('Invalid Name', 'test_decoding');
 ERROR:  replication slot name "Invalid Name" contains invalid character
-HINT:  Replication slot names may only contain letters, numbers, and the underscore character.
+HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
 -- fail twice because of an invalid parameter values
 SELECT 'init' FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', 'frakbar');
 ERROR:  could not parse value "frakbar" for parameter "include-xids"
index c66619cda299090c24bfb6cd22757e1bdf3657b8..a4b86e039e390ae28a456374a062b124e7698050 100644 (file)
@@ -196,7 +196,7 @@ ReplicationSlotValidateName(const char *name, int elevel)
                                        (errcode(ERRCODE_INVALID_NAME),
                        errmsg("replication slot name \"%s\" contains invalid character",
                                   name),
-                                        errhint("Replication slot names may only contain letters, numbers, and the underscore character.")));
+                                        errhint("Replication slot names may only contain lower case letters, numbers, and the underscore character.")));
                        return false;
                }
        }