static void deparseSeqOptElem()

in ext/pg_query/pg_query_deparse.c [494:567]


static void deparseSeqOptElem(StringInfo str, DefElem *def_elem)
{
	ListCell *lc;

	if (strcmp(def_elem->defname, "as") == 0)
	{
		appendStringInfoString(str, "AS ");
		deparseSimpleTypename(str, def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "cache") == 0)
	{
		appendStringInfoString(str, "CACHE ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "cycle") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "CYCLE");
	}
	else if (strcmp(def_elem->defname, "cycle") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NO CYCLE");
	}
	else if (strcmp(def_elem->defname, "increment") == 0)
	{
		appendStringInfoString(str, "INCREMENT ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg != NULL)
	{
		appendStringInfoString(str, "MAXVALUE ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg == NULL)
	{
		appendStringInfoString(str, "NO MAXVALUE");
	}
	else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg != NULL)
	{
		appendStringInfoString(str, "MINVALUE ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg == NULL)
	{
		appendStringInfoString(str, "NO MINVALUE");
	}
	else if (strcmp(def_elem->defname, "owned_by") == 0)
	{
		appendStringInfoString(str, "OWNED BY ");
		deparseAnyName(str, castNode(List, def_elem->arg));
	}
	else if (strcmp(def_elem->defname, "sequence_name") == 0)
	{
		appendStringInfoString(str, "SEQUENCE NAME ");
		deparseAnyName(str, castNode(List, def_elem->arg));
	}
	else if (strcmp(def_elem->defname, "start") == 0)
	{
		appendStringInfoString(str, "START ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg == NULL)
	{
		appendStringInfoString(str, "RESTART");
	}
	else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg != NULL)
	{
		appendStringInfoString(str, "RESTART ");
		deparseNumericOnly(str, (Value *) def_elem->arg);
	}
	else
	{
		Assert(false);
	}
}