Fixes indent problem

pull/7181/head
gindibay 2023-09-05 13:18:47 +03:00
parent f09cc032a1
commit eac68e3af4
3 changed files with 104 additions and 96 deletions

View File

@ -29,7 +29,7 @@ AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt)
Assert(setStmt->kind == VAR_SET_VALUE); Assert(setStmt->kind == VAR_SET_VALUE);
foreach (varArgCell, setStmt->args) foreach(varArgCell, setStmt->args)
{ {
Node *varArgNode = lfirst(varArgCell); Node *varArgNode = lfirst(varArgCell);
A_Const *varArgConst = NULL; A_Const *varArgConst = NULL;
@ -37,11 +37,11 @@ AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt)
if (IsA(varArgNode, A_Const)) if (IsA(varArgNode, A_Const))
{ {
varArgConst = (A_Const *)varArgNode; varArgConst = (A_Const *) varArgNode;
} }
else if (IsA(varArgNode, TypeCast)) else if (IsA(varArgNode, TypeCast))
{ {
TypeCast *varArgTypeCast = (TypeCast *)varArgNode; TypeCast *varArgTypeCast = (TypeCast *) varArgNode;
varArgConst = castNode(A_Const, varArgTypeCast->arg); varArgConst = castNode(A_Const, varArgTypeCast->arg);
typeName = varArgTypeCast->typeName; typeName = varArgTypeCast->typeName;
@ -65,59 +65,59 @@ AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt)
appendStringInfo(buf, " SET %s =", quote_identifier(setStmt->name)); appendStringInfo(buf, " SET %s =", quote_identifier(setStmt->name));
} }
Node *value = (Node *)&varArgConst->val; Node *value = (Node *) &varArgConst->val;
switch (value->type) switch (value->type)
{ {
case T_Integer: case T_Integer:
{
appendStringInfo(buf, " %d", intVal(value));
break;
}
case T_Float:
{
appendStringInfo(buf, " %s", strVal(value));
break;
}
case T_String:
{
if (typeName != NULL)
{ {
/* appendStringInfo(buf, " %d", intVal(value));
* Must be a ConstInterval argument for TIME ZONE. Coerce break;
* to interval and back to normalize the value and account
* for any typmod.
*/
Oid typoid = InvalidOid;
int32 typmod = -1;
typenameTypeIdAndMod(NULL, typeName, &typoid, &typmod);
Assert(typoid == INTERVALOID);
Datum interval =
DirectFunctionCall3(interval_in,
CStringGetDatum(strVal(value)),
ObjectIdGetDatum(InvalidOid),
Int32GetDatum(typmod));
char *intervalout =
DatumGetCString(DirectFunctionCall1(interval_out,
interval));
appendStringInfo(buf, " INTERVAL '%s'", intervalout);
} }
else
case T_Float:
{ {
appendStringInfo(buf, " %s", quote_literal_cstr(strVal(value))); appendStringInfo(buf, " %s", strVal(value));
break;
} }
break;
}
default: case T_String:
{ {
elog(ERROR, "Unexpected Value type in VAR_SET_VALUE arguments."); if (typeName != NULL)
break; {
} /*
* Must be a ConstInterval argument for TIME ZONE. Coerce
* to interval and back to normalize the value and account
* for any typmod.
*/
Oid typoid = InvalidOid;
int32 typmod = -1;
typenameTypeIdAndMod(NULL, typeName, &typoid, &typmod);
Assert(typoid == INTERVALOID);
Datum interval =
DirectFunctionCall3(interval_in,
CStringGetDatum(strVal(value)),
ObjectIdGetDatum(InvalidOid),
Int32GetDatum(typmod));
char *intervalout =
DatumGetCString(DirectFunctionCall1(interval_out,
interval));
appendStringInfo(buf, " INTERVAL '%s'", intervalout);
}
else
{
appendStringInfo(buf, " %s", quote_literal_cstr(strVal(value)));
}
break;
}
default:
{
elog(ERROR, "Unexpected Value type in VAR_SET_VALUE arguments.");
break;
}
} }
} }
} }
@ -126,47 +126,48 @@ AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt)
/* /*
* AppendVariableSetDb appends a string representing the VariableSetStmt to a buffer * AppendVariableSetDb appends a string representing the VariableSetStmt to a buffer
*/ */
void AppendVariableSet(StringInfo buf, VariableSetStmt *setStmt) void
AppendVariableSet(StringInfo buf, VariableSetStmt *setStmt)
{ {
switch (setStmt->kind) switch (setStmt->kind)
{ {
case VAR_SET_VALUE: case VAR_SET_VALUE:
{ {
AppendVarSetValue(buf, setStmt); AppendVarSetValue(buf, setStmt);
break; break;
} }
case VAR_SET_CURRENT: case VAR_SET_CURRENT:
{ {
appendStringInfo(buf, " SET %s FROM CURRENT", quote_identifier(setStmt->name)); appendStringInfo(buf, " SET %s FROM CURRENT", quote_identifier(
break; setStmt->name));
} break;
}
case VAR_SET_DEFAULT: case VAR_SET_DEFAULT:
{ {
appendStringInfo(buf, " SET %s TO DEFAULT", quote_identifier(setStmt->name)); appendStringInfo(buf, " SET %s TO DEFAULT", quote_identifier(setStmt->name));
break; break;
} }
case VAR_RESET: case VAR_RESET:
{ {
appendStringInfo(buf, " RESET %s", quote_identifier(setStmt->name)); appendStringInfo(buf, " RESET %s", quote_identifier(setStmt->name));
break; break;
} }
case VAR_RESET_ALL: case VAR_RESET_ALL:
{ {
appendStringInfoString(buf, " RESET ALL"); appendStringInfoString(buf, " RESET ALL");
break; break;
} }
/* VAR_SET_MULTI is a special case for SET TRANSACTION that should not occur here */ /* VAR_SET_MULTI is a special case for SET TRANSACTION that should not occur here */
case VAR_SET_MULTI: case VAR_SET_MULTI:
default: default:
{ {
ereport(ERROR, (errmsg("Unable to deparse SET statement"))); ereport(ERROR, (errmsg("Unable to deparse SET statement")));
break; break;
} }
} }
} }

View File

@ -35,7 +35,7 @@ char *
DeparseAlterDatabaseOwnerStmt(Node *node) DeparseAlterDatabaseOwnerStmt(Node *node)
{ {
AlterOwnerStmt *stmt = castNode(AlterOwnerStmt, node); AlterOwnerStmt *stmt = castNode(AlterOwnerStmt, node);
StringInfoData str = {0}; StringInfoData str = { 0 };
initStringInfo(&str); initStringInfo(&str);
Assert(stmt->objectType == OBJECT_DATABASE); Assert(stmt->objectType == OBJECT_DATABASE);
@ -45,6 +45,7 @@ DeparseAlterDatabaseOwnerStmt(Node *node)
return str.data; return str.data;
} }
static void static void
AppendAlterDatabaseOwnerStmt(StringInfo buf, AlterOwnerStmt *stmt) AppendAlterDatabaseOwnerStmt(StringInfo buf, AlterOwnerStmt *stmt)
{ {
@ -52,17 +53,18 @@ AppendAlterDatabaseOwnerStmt(StringInfo buf, AlterOwnerStmt *stmt)
appendStringInfo(buf, appendStringInfo(buf,
"ALTER DATABASE %s OWNER TO %s;", "ALTER DATABASE %s OWNER TO %s;",
quote_identifier(strVal((String *)stmt->object)), quote_identifier(strVal((String *) stmt->object)),
RoleSpecString(stmt->newowner, true)); RoleSpecString(stmt->newowner, true));
} }
static void static void
AppendGrantDatabases(StringInfo buf, GrantStmt *stmt) AppendGrantDatabases(StringInfo buf, GrantStmt *stmt)
{ {
ListCell *cell = NULL; ListCell *cell = NULL;
appendStringInfo(buf, " ON DATABASE "); appendStringInfo(buf, " ON DATABASE ");
foreach (cell, stmt->objects) foreach(cell, stmt->objects)
{ {
char *database = strVal(lfirst(cell)); char *database = strVal(lfirst(cell));
appendStringInfoString(buf, quote_identifier(database)); appendStringInfoString(buf, quote_identifier(database));
@ -73,6 +75,7 @@ AppendGrantDatabases(StringInfo buf, GrantStmt *stmt)
} }
} }
static void static void
AppendGrantOnDatabaseStmt(StringInfo buf, GrantStmt *stmt) AppendGrantOnDatabaseStmt(StringInfo buf, GrantStmt *stmt)
{ {
@ -85,17 +88,19 @@ AppendGrantOnDatabaseStmt(StringInfo buf, GrantStmt *stmt)
AppendGrantSharedSuffix(buf, stmt); AppendGrantSharedSuffix(buf, stmt);
} }
static void static void
AppendDefElemIsTemplate(StringInfo buf, DefElem *def) AppendDefElemIsTemplate(StringInfo buf, DefElem *def)
{ {
appendStringInfo(buf, "WITH %s %s", quote_identifier(def->defname), appendStringInfo(buf, "WITH %s %s", quote_identifier(def->defname),
quote_literal_cstr(strVal(def->arg))); quote_literal_cstr(strVal(def->arg)));
} }
static void static void
AppendDefElemConnLimit(StringInfo buf, DefElem *def) AppendDefElemConnLimit(StringInfo buf, DefElem *def)
{ {
appendStringInfo(buf, "WITH CONNECTION LIMIT %ld", (long int)defGetNumeric(def)); appendStringInfo(buf, "WITH CONNECTION LIMIT %ld", (long int) defGetNumeric(def));
} }
@ -108,7 +113,7 @@ AppendAlterDatabaseStmt(StringInfo buf, AlterDatabaseStmt *stmt)
{ {
ListCell *cell = NULL; ListCell *cell = NULL;
appendStringInfo(buf, "WITH "); appendStringInfo(buf, "WITH ");
foreach (cell, stmt->options) foreach(cell, stmt->options)
{ {
DefElem *def = castNode(DefElem, lfirst(cell)); DefElem *def = castNode(DefElem, lfirst(cell));
if (strcmp(def->defname, "is_template") == 0) if (strcmp(def->defname, "is_template") == 0)
@ -121,7 +126,6 @@ AppendAlterDatabaseStmt(StringInfo buf, AlterDatabaseStmt *stmt)
} }
else if (strcmp(def->defname, "tablespace") == 0) else if (strcmp(def->defname, "tablespace") == 0)
{ {
ereport(ERROR, ereport(ERROR,
errmsg("SET tablespace is not supported")); errmsg("SET tablespace is not supported"));
} }
@ -142,13 +146,14 @@ AppendAlterDatabaseStmt(StringInfo buf, AlterDatabaseStmt *stmt)
appendStringInfo(buf, ";"); appendStringInfo(buf, ";");
} }
char * char *
DeparseGrantOnDatabaseStmt(Node *node) DeparseGrantOnDatabaseStmt(Node *node)
{ {
GrantStmt *stmt = castNode(GrantStmt, node); GrantStmt *stmt = castNode(GrantStmt, node);
Assert(stmt->objtype == OBJECT_DATABASE); Assert(stmt->objtype == OBJECT_DATABASE);
StringInfoData str = {0}; StringInfoData str = { 0 };
initStringInfo(&str); initStringInfo(&str);
AppendGrantOnDatabaseStmt(&str, stmt); AppendGrantOnDatabaseStmt(&str, stmt);
@ -156,12 +161,13 @@ DeparseGrantOnDatabaseStmt(Node *node)
return str.data; return str.data;
} }
char * char *
DeparseAlterDatabaseStmt(Node *node) DeparseAlterDatabaseStmt(Node *node)
{ {
AlterDatabaseStmt *stmt = castNode(AlterDatabaseStmt, node); AlterDatabaseStmt *stmt = castNode(AlterDatabaseStmt, node);
StringInfoData str = {0}; StringInfoData str = { 0 };
initStringInfo(&str); initStringInfo(&str);
AppendAlterDatabaseStmt(&str, stmt); AppendAlterDatabaseStmt(&str, stmt);
@ -169,11 +175,12 @@ DeparseAlterDatabaseStmt(Node *node)
return str.data; return str.data;
} }
#if PG_VERSION_NUM >= PG_VERSION_15 #if PG_VERSION_NUM >= PG_VERSION_15
char * char *
DeparseAlterDatabaseRefreshCollStmt(Node *node) DeparseAlterDatabaseRefreshCollStmt(Node *node)
{ {
AlterDatabaseRefreshCollStmt *stmt = (AlterDatabaseRefreshCollStmt *)node; AlterDatabaseRefreshCollStmt *stmt = (AlterDatabaseRefreshCollStmt *) node;
StringInfoData str; StringInfoData str;
initStringInfo(&str); initStringInfo(&str);
@ -185,8 +192,8 @@ DeparseAlterDatabaseRefreshCollStmt(Node *node)
return str.data; return str.data;
} }
#endif
#endif
static void static void
@ -199,12 +206,13 @@ AppendAlterDatabaseSetStmt(StringInfo buf, AlterDatabaseSetStmt *stmt)
AppendVariableSet(buf, varSetStmt); AppendVariableSet(buf, varSetStmt);
} }
char * char *
DeparseAlterDatabaseSetStmt(Node *node) DeparseAlterDatabaseSetStmt(Node *node)
{ {
AlterDatabaseSetStmt *stmt = castNode(AlterDatabaseSetStmt, node); AlterDatabaseSetStmt *stmt = castNode(AlterDatabaseSetStmt, node);
StringInfoData str = {0}; StringInfoData str = { 0 };
initStringInfo(&str); initStringInfo(&str);
AppendAlterDatabaseSetStmt(&str, stmt); AppendAlterDatabaseSetStmt(&str, stmt);

View File

@ -299,7 +299,6 @@ AppendDefElemSupport(StringInfo buf, DefElem *def)
} }
/* /*
* DeparseRenameFunctionStmt builds and returns a string representing the RenameStmt * DeparseRenameFunctionStmt builds and returns a string representing the RenameStmt
*/ */