in ext/pg_query/pg_query_deparse.c [2893:2948]
static void deparseSQLValueFunction(StringInfo str, SQLValueFunction* sql_value_function)
{
switch (sql_value_function->op)
{
case SVFOP_CURRENT_DATE:
appendStringInfoString(str, "current_date");
break;
case SVFOP_CURRENT_TIME:
appendStringInfoString(str, "current_time");
break;
case SVFOP_CURRENT_TIME_N:
appendStringInfoString(str, "current_time"); // with precision
break;
case SVFOP_CURRENT_TIMESTAMP:
appendStringInfoString(str, "current_timestamp");
break;
case SVFOP_CURRENT_TIMESTAMP_N:
appendStringInfoString(str, "current_timestamp"); // with precision
break;
case SVFOP_LOCALTIME:
appendStringInfoString(str, "localtime");
break;
case SVFOP_LOCALTIME_N:
appendStringInfoString(str, "localtime"); // with precision
break;
case SVFOP_LOCALTIMESTAMP:
appendStringInfoString(str, "localtimestamp");
break;
case SVFOP_LOCALTIMESTAMP_N:
appendStringInfoString(str, "localtimestamp"); // with precision
break;
case SVFOP_CURRENT_ROLE:
appendStringInfoString(str, "current_role");
break;
case SVFOP_CURRENT_USER:
appendStringInfoString(str, "current_user");
break;
case SVFOP_USER:
appendStringInfoString(str, "user");
break;
case SVFOP_SESSION_USER:
appendStringInfoString(str, "session_user");
break;
case SVFOP_CURRENT_CATALOG:
appendStringInfoString(str, "current_catalog");
break;
case SVFOP_CURRENT_SCHEMA:
appendStringInfoString(str, "current_schema");
break;
}
if (sql_value_function->typmod != -1)
{
appendStringInfo(str, "(%d)", sql_value_function->typmod);
}
}