Changes if to switch statements

pull/7270/head
gindibay 2023-10-14 05:35:34 +03:00
parent ca5e234821
commit 3a6fdada11
1 changed files with 32 additions and 30 deletions

View File

@ -31,36 +31,38 @@ optionToStatement(StringInfo buf, DefElem *option, const struct
{
if (strcmp(name, opt_formats[i].name) == 0)
{
if (opt_formats[i].type == OPTION_FORMAT_STRING)
{
switch (opt_formats[i].type) {
case OPTION_FORMAT_STRING: {
char *value = defGetString(option);
appendStringInfo(buf, opt_formats[i].format, quote_identifier(value));
break;
}
else if (opt_formats[i].type == OPTION_FORMAT_INTEGER)
{
case OPTION_FORMAT_INTEGER: {
int32 value = defGetInt32(option);
appendStringInfo(buf, opt_formats[i].format, value);
break;
}
else if (opt_formats[i].type == OPTION_FORMAT_BOOLEAN)
{
case OPTION_FORMAT_BOOLEAN: {
bool value = defGetBoolean(option);
appendStringInfo(buf, opt_formats[i].format, value ? "true" : "false");
break;
}
#if PG_VERSION_NUM >= PG_VERSION_15
else if (opt_formats[i].type == OPTION_FORMAT_OBJECT_ID)
{
case OPTION_FORMAT_OBJECT_ID: {
Oid value = defGetObjectId(option);
appendStringInfo(buf, opt_formats[i].format, value);
break;
}
#endif
else if (opt_formats[i].type == OPTION_FORMAT_LITERAL_CSTR)
{
case OPTION_FORMAT_LITERAL_CSTR: {
char *value = defGetString(option);
appendStringInfo(buf, opt_formats[i].format, quote_literal_cstr(value));
break;
}
else
{
default: {
elog(ERROR, "unrecognized option type: %d", opt_formats[i].type);
break;
}
}
break;
}