static void deparseAlterRoleElem()

in ext/pg_query/pg_query_deparse.c [7464:7555]


static void deparseAlterRoleElem(StringInfo str, DefElem *def_elem)
{
	if (strcmp(def_elem->defname, "password") == 0)
	{
		appendStringInfoString(str, "PASSWORD ");
		if (def_elem->arg == NULL)
		{
			appendStringInfoString(str, "NULL");
		}
		else if (IsA(def_elem->arg, ParamRef))
		{
			deparseParamRef(str, castNode(ParamRef, def_elem->arg));
		}
		else if (IsA(def_elem->arg, String))
		{
			deparseStringLiteral(str, strVal(def_elem->arg));
		}
		else
		{
			Assert(false);
		}
	}
	else if (strcmp(def_elem->defname, "connectionlimit") == 0)
	{
		appendStringInfo(str, "CONNECTION LIMIT %d", intVal(def_elem->arg));
	}
	else if (strcmp(def_elem->defname, "validUntil") == 0)
	{
		appendStringInfoString(str, "VALID UNTIL ");
		deparseStringLiteral(str, strVal(def_elem->arg));
	}
	else if (strcmp(def_elem->defname, "superuser") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "SUPERUSER");
	}
	else if (strcmp(def_elem->defname, "superuser") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOSUPERUSER");
	}
	else if (strcmp(def_elem->defname, "createrole") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "CREATEROLE");
	}
	else if (strcmp(def_elem->defname, "createrole") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOCREATEROLE");
	}
	else if (strcmp(def_elem->defname, "isreplication") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "REPLICATION");
	}
	else if (strcmp(def_elem->defname, "isreplication") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOREPLICATION");
	}
	else if (strcmp(def_elem->defname, "createdb") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "CREATEDB");
	}
	else if (strcmp(def_elem->defname, "createdb") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOCREATEDB");
	}
	else if (strcmp(def_elem->defname, "canlogin") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "LOGIN");
	}
	else if (strcmp(def_elem->defname, "canlogin") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOLOGIN");
	}
	else if (strcmp(def_elem->defname, "bypassrls") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "BYPASSRLS");
	}
	else if (strcmp(def_elem->defname, "bypassrls") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOBYPASSRLS");
	}
	else if (strcmp(def_elem->defname, "inherit") == 0 && intVal(def_elem->arg) == 1)
	{
		appendStringInfoString(str, "INHERIT");
	}
	else if (strcmp(def_elem->defname, "inherit") == 0 && intVal(def_elem->arg) == 0)
	{
		appendStringInfoString(str, "NOINHERIT");
	}
	else
	{
		Assert(false);
	}
}