47 type =
"alter operator family";
50 type =
"alter default privileges";
53 type =
"create operator class";
56 type =
"alter text search configuration";
59 type =
"unknown command type";
93 elog(
ERROR,
"command is not ALTER TABLE");
98 elog(
ERROR,
"empty alter table subcommand list");
104 const char *
strtype =
"unrecognized";
109 memset(nulls, 0,
sizeof(nulls));
117 strtype =
"ADD COLUMN TO VIEW";
120 strtype =
"ALTER COLUMN SET DEFAULT";
123 strtype =
"ALTER COLUMN SET DEFAULT (precooked)";
165 strtype =
"(re) ADD CONSTRAINT";
168 strtype =
"(re) ADD DOMAIN CONSTRAINT";
174 strtype =
"VALIDATE CONSTRAINT";
177 strtype =
"ADD CONSTRAINT (using index)";
186 strtype =
"ALTER COLUMN SET TYPE";
189 strtype =
"ALTER COLUMN SET OPTIONS";
222 strtype =
"REPLACE RELOPTIONS";
228 strtype =
"ENABLE TRIGGER (always)";
231 strtype =
"ENABLE TRIGGER (replica)";
237 strtype =
"ENABLE TRIGGER (all)";
240 strtype =
"DISABLE TRIGGER (all)";
243 strtype =
"ENABLE TRIGGER (user)";
246 strtype =
"DISABLE TRIGGER (user)";
252 strtype =
"ENABLE RULE (always)";
255 strtype =
"ENABLE RULE (replica)";
276 strtype =
"ENABLE ROW SECURITY";
279 strtype =
"DISABLE ROW SECURITY";
282 strtype =
"FORCE ROW SECURITY";
285 strtype =
"NO FORCE ROW SECURITY";
297 strtype =
"DETACH PARTITION ... FINALIZE";
static Datum values[MAXATTR]
#define CStringGetTextDatum(s)
#define OidIsValid(objectId)
@ SCT_AlterDefaultPrivileges
#define PG_GETARG_POINTER(n)
#define PG_FUNCTION_INFO_V1(funcname)
#define PG_RETURN_TEXT_P(x)
void InitMaterializedSRF(FunctionCallInfo fcinfo, bits32 flags)
#define castNode(_type_, nodeptr)
char * getObjectDescription(const ObjectAddress *object, bool missing_ok)
@ AT_DetachPartitionFinalize
@ AT_ReAddDomainConstraint
@ AT_AlterColumnGenericOptions
char * psprintf(const char *fmt,...)
union CollectedCommand::@132 d
CollectedCommandType type
struct CollectedCommand::@132::@134 alterTable
Datum get_altertable_subcmdinfo(PG_FUNCTION_ARGS)
Datum get_command_type(PG_FUNCTION_ARGS)
Datum get_command_tag(PG_FUNCTION_ARGS)
void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc, const Datum *values, const bool *isnull)
static const char * CreateCommandName(Node *parsetree)
text * cstring_to_text(const char *s)