mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Assert that ALTER TABLE subcommands have pass set
This commit is contained in:
parent
f85136106d
commit
2f74e4ec50
@ -126,6 +126,7 @@ static List *on_commits = NIL;
|
|||||||
* a pass determined by subcommand type.
|
* a pass determined by subcommand type.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define AT_PASS_UNSET -1 /* UNSET will cause ERROR */
|
||||||
#define AT_PASS_DROP 0 /* DROP (all flavors) */
|
#define AT_PASS_DROP 0 /* DROP (all flavors) */
|
||||||
#define AT_PASS_ALTER_TYPE 1 /* ALTER COLUMN TYPE */
|
#define AT_PASS_ALTER_TYPE 1 /* ALTER COLUMN TYPE */
|
||||||
#define AT_PASS_OLD_INDEX 2 /* re-add existing indexes */
|
#define AT_PASS_OLD_INDEX 2 /* re-add existing indexes */
|
||||||
@ -2947,7 +2948,7 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd,
|
|||||||
bool recurse, bool recursing, LOCKMODE lockmode)
|
bool recurse, bool recursing, LOCKMODE lockmode)
|
||||||
{
|
{
|
||||||
AlteredTableInfo *tab;
|
AlteredTableInfo *tab;
|
||||||
int pass;
|
int pass = AT_PASS_UNSET;
|
||||||
|
|
||||||
/* Find or create work queue entry for this table */
|
/* Find or create work queue entry for this table */
|
||||||
tab = ATGetQueueEntry(wqueue, rel);
|
tab = ATGetQueueEntry(wqueue, rel);
|
||||||
@ -3160,9 +3161,10 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd,
|
|||||||
default: /* oops */
|
default: /* oops */
|
||||||
elog(ERROR, "unrecognized alter table type: %d",
|
elog(ERROR, "unrecognized alter table type: %d",
|
||||||
(int) cmd->subtype);
|
(int) cmd->subtype);
|
||||||
pass = 0; /* keep compiler quiet */
|
pass = AT_PASS_UNSET; /* keep compiler quiet */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Assert(pass > AT_PASS_UNSET);
|
||||||
|
|
||||||
/* Add the subcommand to the appropriate list for phase 2 */
|
/* Add the subcommand to the appropriate list for phase 2 */
|
||||||
tab->subcmds[pass] = lappend(tab->subcmds[pass], cmd);
|
tab->subcmds[pass] = lappend(tab->subcmds[pass], cmd);
|
||||||
|
Loading…
Reference in New Issue
Block a user