Re: dropdb --force
От | Ryan Lambert |
---|---|
Тема | Re: dropdb --force |
Дата | |
Msg-id | CAN-V+g9mNdvMz2W2DVqvxQLus9u82QY9ysTdMHARVh8UZ-Ugvg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: dropdb --force (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: dropdb --force
|
Список | pgsql-hackers |
Hi Pavel,
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -3145,6 +3145,7 @@ typedef struct DropdbStmt
NodeTag type;
char *dbname; /* database to drop */
bool missing_ok; /* skip error if db is missing? */
+ List *options; /* currently only FORCE is supported */
} DropdbStmt;
Why put FORCE as the single item in an options list? A bool var seems like it would be more clear and consistent.
- * DROP DATABASE [ IF EXISTS ]
+ * DROP DATABASE [ ( FORCE ) ] [ IF EXISTS ]
Why is it `[ ( FORCE ) ]` instead of `[ FORCE ]`?
There are also places in the code that seem like extra () are around FORCE. Like here:
+ appendPQExpBuffer(&sql, "DROP DATABASE %s%s%s;",
+ (force ? " (FORCE) " : ""),
+ (if_exists ? "IF EXISTS " : ""), fmtId(dbname));
And here:
+$node->safe_psql('postgres', 'CREATE DATABASE foobar2');
+$node->issues_sql_like(
+ [ 'dropdb', '--force', 'foobar2' ],
+ qr/statement: DROP DATABASE (FORCE) foobar2/,
+ 'SQL DROP DATABASE (FORCE) run');
+
I'll try to build and test the patch tomorrow.
I took a quick look through the patch, I'll try to build and test it tomorrow.
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -3145,6 +3145,7 @@ typedef struct DropdbStmt
NodeTag type;
char *dbname; /* database to drop */
bool missing_ok; /* skip error if db is missing? */
+ List *options; /* currently only FORCE is supported */
} DropdbStmt;
Why put FORCE as the single item in an options list? A bool var seems like it would be more clear and consistent.
- * DROP DATABASE [ IF EXISTS ]
+ * DROP DATABASE [ ( FORCE ) ] [ IF EXISTS ]
Why is it `[ ( FORCE ) ]` instead of `[ FORCE ]`?
There are also places in the code that seem like extra () are around FORCE. Like here:
+ appendPQExpBuffer(&sql, "DROP DATABASE %s%s%s;",
+ (force ? " (FORCE) " : ""),
+ (if_exists ? "IF EXISTS " : ""), fmtId(dbname));
And here:
+$node->safe_psql('postgres', 'CREATE DATABASE foobar2');
+$node->issues_sql_like(
+ [ 'dropdb', '--force', 'foobar2' ],
+ qr/statement: DROP DATABASE (FORCE) foobar2/,
+ 'SQL DROP DATABASE (FORCE) run');
+
I'll try to build and test the patch tomorrow.
Thanks,
Ryan Lambert
В списке pgsql-hackers по дате отправления: