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);
}
}