static void deparseAlterObjectSchemaStmt()

in ext/pg_query/pg_query_deparse.c [5471:5591]


static void deparseAlterObjectSchemaStmt(StringInfo str, AlterObjectSchemaStmt *alter_object_schema_stmt)
{
	List *l = NULL;
	ListCell *lc = NULL;

	appendStringInfoString(str, "ALTER ");

	switch (alter_object_schema_stmt->objectType)
	{
		case OBJECT_AGGREGATE:
			appendStringInfoString(str, "AGGREGATE ");
			deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object));
			break;
		case OBJECT_COLLATION:
			appendStringInfoString(str, "COLLATION ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_CONVERSION:
			appendStringInfoString(str, "CONVERSION ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_DOMAIN:
			appendStringInfoString(str, "DOMAIN ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_EXTENSION:
			appendStringInfoString(str, "EXTENSION ");
			appendStringInfoString(str, quote_identifier(strVal(alter_object_schema_stmt->object)));
			break;
		case OBJECT_FUNCTION:
			appendStringInfoString(str, "FUNCTION ");
			deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object));
			break;
		case OBJECT_OPERATOR:
			appendStringInfoString(str, "OPERATOR ");
			deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object));
			break;
		case OBJECT_OPCLASS:
			l = castNode(List, alter_object_schema_stmt->object);
			appendStringInfoString(str, "OPERATOR CLASS ");
			deparseAnyNameSkipFirst(str, l);
			appendStringInfoString(str, " USING ");
			appendStringInfoString(str, quote_identifier(strVal(linitial(l))));
			break;
		case OBJECT_OPFAMILY:
			l = castNode(List, alter_object_schema_stmt->object);
			appendStringInfoString(str, "OPERATOR FAMILY ");
			deparseAnyNameSkipFirst(str, l);
			appendStringInfoString(str, " USING ");
			appendStringInfoString(str, quote_identifier(strVal(linitial(l))));
			break;
		case OBJECT_PROCEDURE:
			appendStringInfoString(str, "PROCEDURE ");
			deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object));
			break;
		case OBJECT_ROUTINE:
			appendStringInfoString(str, "ROUTINE ");
			deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object));
			break;
		case OBJECT_TABLE:
			appendStringInfoString(str, "TABLE ");
			if (alter_object_schema_stmt->missing_ok)
				appendStringInfoString(str, "IF EXISTS ");
			deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE);
			break;
		case OBJECT_STATISTIC_EXT:
			appendStringInfoString(str, "STATISTICS ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_TSPARSER:
			appendStringInfoString(str, "TEXT SEARCH PARSER ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_TSDICTIONARY:
			appendStringInfoString(str, "TEXT SEARCH DICTIONARY ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_TSTEMPLATE:
			appendStringInfoString(str, "TEXT SEARCH TEMPLATE ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_TSCONFIGURATION:
			appendStringInfoString(str, "TEXT SEARCH CONFIGURATION ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		case OBJECT_SEQUENCE:
			appendStringInfoString(str, "SEQUENCE ");
			if (alter_object_schema_stmt->missing_ok)
				appendStringInfoString(str, "IF EXISTS ");
			deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE);
			break;
		case OBJECT_VIEW:
			appendStringInfoString(str, "VIEW ");
			if (alter_object_schema_stmt->missing_ok)
				appendStringInfoString(str, "IF EXISTS ");
			deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE);
			break;
		case OBJECT_MATVIEW:
			appendStringInfoString(str, "MATERIALIZED VIEW ");
			if (alter_object_schema_stmt->missing_ok)
				appendStringInfoString(str, "IF EXISTS ");
			deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE);
			break;
		case OBJECT_FOREIGN_TABLE:
			appendStringInfoString(str, "FOREIGN TABLE ");
			if (alter_object_schema_stmt->missing_ok)
				appendStringInfoString(str, "IF EXISTS ");
			deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE);
			break;
		case OBJECT_TYPE:
			appendStringInfoString(str, "TYPE ");
			deparseAnyName(str, castNode(List, alter_object_schema_stmt->object));
			break;
		default:
			Assert(false);
			break;
	}

	appendStringInfoString(str, " SET SCHEMA ");
	appendStringInfoString(str, quote_identifier(alter_object_schema_stmt->newschema));
}