aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Neporada <neporada@gmail.com>2022-06-17 01:55:39 +0300
committerAndrey Neporada <neporada@gmail.com>2022-06-17 01:55:39 +0300
commit96f5c2e1b598247a3a9f11198acfe7f3081e4f11 (patch)
tree0313399335e1fe1420e90fa6247201f80db4a371
parentf9e17d35f75ad45a460f8df61b18b502449991a5 (diff)
downloadydb-96f5c2e1b598247a3a9f11198acfe7f3081e4f11.tar.gz
[YQL-15012] Fix pg literals with type mods
ref:9b39ed3338073481b20e9a3b7b0c3fb33ea6e8e3
-rw-r--r--ydb/library/yql/sql/v1/builtin.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/ydb/library/yql/sql/v1/builtin.cpp b/ydb/library/yql/sql/v1/builtin.cpp
index 78139688c7d..9099a38c28f 100644
--- a/ydb/library/yql/sql/v1/builtin.cpp
+++ b/ydb/library/yql/sql/v1/builtin.cpp
@@ -3294,8 +3294,12 @@ TNodePtr BuildBuiltinFunc(TContext& ctx, TPosition pos, TString name, const TVec
}
if (type.StartsWith("pg")) {
- TVector<TNodePtr> pgConstArgs = args;
- pgConstArgs.push_back(new TCallNodeImpl(pos, "PgType", { BuildQuotedAtom(pos, type.substr(2)) }));
+ TVector<TNodePtr> pgConstArgs;
+ if (!args.empty()) {
+ pgConstArgs.push_back(args.front());
+ pgConstArgs.push_back(new TCallNodeImpl(pos, "PgType", { BuildQuotedAtom(pos, type.substr(2), TNodeFlags::Default) }));
+ pgConstArgs.insert(pgConstArgs.end(), args.begin() + 1, args.end());
+ }
return new TYqlPgConst(pos, pgConstArgs);
} else if (type == "Void" || type == "EmptyList" || type == "EmptyDict") {
return new TCallNodeImpl(pos, type, 0, 0, args);