48 type =
"alter operator family";
51 type =
"alter default privileges";
54 type =
"create operator class";
57 type =
"alter text search configuration";
60 type =
"unknown command type";
94 elog(
ERROR,
"command is not ALTER TABLE");
99 elog(
ERROR,
"empty alter table subcommand list");
105 const char *
strtype =
"unrecognized";
110 memset(nulls, 0,
sizeof(nulls));
118 strtype =
"ADD COLUMN TO VIEW";
121 strtype =
"ALTER COLUMN SET DEFAULT";
124 strtype =
"ALTER COLUMN SET DEFAULT (precooked)";
166 strtype =
"(re) ADD CONSTRAINT";
169 strtype =
"(re) ADD DOMAIN CONSTRAINT";
175 strtype =
"VALIDATE CONSTRAINT";
178 strtype =
"ADD CONSTRAINT (using index)";
187 strtype =
"ALTER COLUMN SET TYPE";
190 strtype =
"ALTER COLUMN SET OPTIONS";
223 strtype =
"REPLACE RELOPTIONS";
229 strtype =
"ENABLE TRIGGER (always)";
232 strtype =
"ENABLE TRIGGER (replica)";
238 strtype =
"ENABLE TRIGGER (all)";
241 strtype =
"DISABLE TRIGGER (all)";
244 strtype =
"ENABLE TRIGGER (user)";
247 strtype =
"DISABLE TRIGGER (user)";
253 strtype =
"ENABLE RULE (always)";
256 strtype =
"ENABLE RULE (replica)";
277 strtype =
"ENABLE ROW SECURITY";
280 strtype =
"DISABLE ROW SECURITY";
283 strtype =
"FORCE ROW SECURITY";
286 strtype =
"NO FORCE ROW SECURITY";
298 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, uint32 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::@135 d
CollectedCommandType type
struct CollectedCommand::@135::@137 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)