aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Stoyan <vvvv@ydb.tech>2024-01-29 22:16:37 +0300
committerGitHub <noreply@github.com>2024-01-29 22:16:37 +0300
commit1b1d8f33961ffa0481a145f768f6bb3917ad016e (patch)
tree5cf4a3d3e4fe5362d93b28cef81c6301960eba5b
parent8a154cba3ff3d0a6dd6fa2ae07f1a645a205ba09 (diff)
downloadydb-1b1d8f33961ffa0481a145f768f6bb3917ad016e.tar.gz
fix pg sql warnings (#1395)
* init * fix build
-rw-r--r--ydb/library/yql/sql/pg/optimizer.cpp15
-rw-r--r--ydb/library/yql/sql/pg/optimizer_impl_ut.cpp2
-rw-r--r--ydb/library/yql/sql/pg/optimizer_ut.cpp8
-rw-r--r--ydb/library/yql/sql/pg/pg_sql.cpp25
-rw-r--r--ydb/library/yql/sql/pg/ut/ya.make2
-rw-r--r--ydb/library/yql/sql/pg/ya.make1
6 files changed, 29 insertions, 24 deletions
diff --git a/ydb/library/yql/sql/pg/optimizer.cpp b/ydb/library/yql/sql/pg/optimizer.cpp
index 98e63c465c..980d43993d 100644
--- a/ydb/library/yql/sql/pg/optimizer.cpp
+++ b/ydb/library/yql/sql/pg/optimizer.cpp
@@ -17,12 +17,18 @@
#undef SIZEOF_SIZE_T
extern "C" {
+Y_PRAGMA_DIAGNOSTIC_PUSH
+#ifdef _win_
+Y_PRAGMA("GCC diagnostic ignored \"-Wshift-count-overflow\"")
+#endif
+Y_PRAGMA("GCC diagnostic ignored \"-Wunused-parameter\"")
#include "postgres.h"
#include "miscadmin.h"
#include "optimizer/paths.h"
#include "nodes/print.h"
#include "utils/selfuncs.h"
#include "utils/palloc.h"
+Y_PRAGMA_DIAGNOSTIC_POP
}
#undef Min
@@ -40,6 +46,9 @@ bool RelationStatsHook(
AttrNumber attnum,
VariableStatData *vardata)
{
+ Y_UNUSED(root);
+ Y_UNUSED(rte);
+ Y_UNUSED(attnum);
vardata->statsTuple = nullptr;
return true;
}
@@ -224,8 +233,8 @@ int TPgOptimizer::MakeOutputJoin(TOutput& output, Path* path) {
for (int i = 0; i < list_length(jpath->joinrestrictinfo); i++) {
RestrictInfo* rinfo = (RestrictInfo*)jpath->joinrestrictinfo->elements[i].ptr_value;
- Var* left;
- Var* right;
+ Var* left = nullptr;
+ Var* right = nullptr;
if (jpath->jointype == JOIN_INNER) {
YQL_ENSURE(rinfo->left_em->em_expr->type == T_Var, "Unsupported left em type");
@@ -279,7 +288,7 @@ void TPgOptimizer::MakeLeftOrRightRestrictions(std::vector<RestrictInfo*>& dst,
ri->clause = (Expr*)oe;
bool left = true;
- for (const auto [relId, varId] : eq.Vars) {
+ for (const auto& [relId, varId] : eq.Vars) {
ri->required_relids = bms_add_member(ri->required_relids, relId);
ri->clause_relids = bms_add_member(ri->clause_relids, relId);
if (left) {
diff --git a/ydb/library/yql/sql/pg/optimizer_impl_ut.cpp b/ydb/library/yql/sql/pg/optimizer_impl_ut.cpp
index d8ca81c8b6..18393d493e 100644
--- a/ydb/library/yql/sql/pg/optimizer_impl_ut.cpp
+++ b/ydb/library/yql/sql/pg/optimizer_impl_ut.cpp
@@ -82,7 +82,7 @@ Y_UNIT_TEST(MakeRelOptInfoList) {
TArenaMemoryContext ctx;
IOptimizer::TRel rel1 = {10, 100, {{}}};
IOptimizer::TRel rel2 = {100, 99, {{}}};
- IOptimizer::TInput input = {{rel1, rel2}};
+ IOptimizer::TInput input = {.Rels={rel1, rel2}};
auto* l = MakeRelOptInfoList(input);
UNIT_ASSERT(l);
UNIT_ASSERT_EQUAL(l->length, 2);
diff --git a/ydb/library/yql/sql/pg/optimizer_ut.cpp b/ydb/library/yql/sql/pg/optimizer_ut.cpp
index 3b77bd00b9..19385174da 100644
--- a/ydb/library/yql/sql/pg/optimizer_ut.cpp
+++ b/ydb/library/yql/sql/pg/optimizer_ut.cpp
@@ -18,7 +18,7 @@ Y_TEST_HOOK_BEFORE_RUN(InitTest) {
Y_UNIT_TEST(PgJoinSearch2Rels) {
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
- IOptimizer::TInput input = {{rel1, rel2}};
+ IOptimizer::TInput input = {.Rels={rel1, rel2}};
input.EqClasses.emplace_back(IOptimizer::TEq {
{{1, 1}, {2, 1}}
@@ -56,7 +56,7 @@ Y_UNIT_TEST(PgJoinSearch2Rels) {
Y_UNIT_TEST(PgJoinSearch2RelsLeft) {
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
- IOptimizer::TInput input = {{rel1, rel2}};
+ IOptimizer::TInput input = {.Rels={rel1, rel2}};
input.EqClasses.emplace_back(IOptimizer::TEq {
{{1, 1}}
@@ -102,7 +102,7 @@ Y_UNIT_TEST(PgJoinSearch2RelsLeft) {
Y_UNIT_TEST(PgJoinSearch2RelsRight) {
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
- IOptimizer::TInput input = {{rel1, rel2}};
+ IOptimizer::TInput input = {.Rels={rel1, rel2}};
input.EqClasses.emplace_back(IOptimizer::TEq {
{{1, 1}}
@@ -149,7 +149,7 @@ Y_UNIT_TEST(PgJoinSearch3Rels) {
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
IOptimizer::TRel rel3 = {10000, 9009, {{'c'}}};
- IOptimizer::TInput input = {{rel1, rel2, rel3}};
+ IOptimizer::TInput input = {.Rels={rel1, rel2, rel3}};
input.EqClasses.emplace_back(IOptimizer::TEq {
{{1, 1}, {2, 1}, {3, 1}}
diff --git a/ydb/library/yql/sql/pg/pg_sql.cpp b/ydb/library/yql/sql/pg/pg_sql.cpp
index 1615299653..723b77ab51 100644
--- a/ydb/library/yql/sql/pg/pg_sql.cpp
+++ b/ydb/library/yql/sql/pg/pg_sql.cpp
@@ -397,7 +397,7 @@ public:
{
// YQL-16284
const char* node_name = CAST_NODE(VariableSetStmt, node)->name;
- char* skip_statements[] = {
+ const char* skip_statements[] = {
"extra_float_digits", // jdbc
"application_name", // jdbc
"statement_timeout", // pg_dump
@@ -446,7 +446,6 @@ public:
}
auto* tuples = listOfTuples.mutable_value()->mutable_items();
- size_t idx = 0;
size_t cols = columnTypes.size();
for (size_t idx = 0; idx < autoParamLiterals.size(); idx += cols){
auto* tuple = tuples->Add();
@@ -636,9 +635,9 @@ public:
auto length = ListLength(value->args);
if (length != 3) {
AddError(TStringBuilder() << "Expected 3 arguments, but got: " << length);
- return;
+ return nullptr;
}
- auto loc = value->location;
+
VariableSetStmt config;
config.kind = VAR_SET_VALUE;
auto arg0 = ListNodeNth(value->args, 0);
@@ -646,7 +645,7 @@ public:
auto arg2 = ListNodeNth(value->args, 2);
if (NodeTag(arg2) != T_TypeCast) {
AddError(TStringBuilder() << "Expected type cast node as is_local arg, but got node with tag");
- return;
+ return nullptr;
}
auto isLocalCast = CAST_NODE(TypeCast, arg2)->arg;
if (NodeTag(isLocalCast) != T_A_Const) {
@@ -661,7 +660,7 @@ public:
auto rawVal = TString(StrVal(isLocalConst->val));
if (rawVal != "t" && rawVal != "f") {
AddError(TStringBuilder() << "Expected t/f, but got " << rawVal);
- return;
+ return nullptr;
}
config.is_local = rawVal == "t";
@@ -674,7 +673,7 @@ public:
auto val = CAST_NODE(A_Const, arg1)->val;
if (NodeTag(name) != T_String || NodeTag(val) != T_String) {
AddError(TStringBuilder() << "Expected string const as name arg, but got something else: " << NodeTag(name));
- return;
+ return nullptr;
}
config.name = (char*)StrVal(name);
config.args = list_make1((void*)(&val));
@@ -1320,7 +1319,7 @@ public:
return {};
}
ui32 index = 0;
- for (size_t i = 0; i < ListLength(returningList); i++) {
+ for (int i = 0; i < ListLength(returningList); i++) {
auto node = ListNodeNth(returningList, i);
if (NodeTag(node) != T_ResTarget) {
NodeNotImplemented(returningList, node);
@@ -1375,7 +1374,7 @@ public:
TVector <TAstNode*> targetColumns;
if (value->cols) {
- for (size_t i = 0; i < ListLength(value->cols); i++) {
+ for (int i = 0; i < ListLength(value->cols); i++) {
auto node = ListNodeNth(value->cols, i);
if (NodeTag(node) != T_ResTarget) {
NodeNotImplemented(value, node);
@@ -1612,7 +1611,7 @@ private:
if (!CheckConstraintSupported(pk))
return false;
- for (auto i = 0; i < ListLength(pk->keys); ++i) {
+ for (int i = 0; i < ListLength(pk->keys); ++i) {
auto node = ListNodeNth(pk->keys, i);
auto nodeName = StrVal(node);
@@ -1677,7 +1676,7 @@ private:
TColumnInfo cinfo{.Name = node->colname};
if (node->constraints) {
- for (ui32 i = 0; i < ListLength(node->constraints); ++i) {
+ for (int i = 0; i < ListLength(node->constraints); ++i) {
auto constraintNode =
CAST_NODE(Constraint, ListNodeNth(node->constraints, i));
@@ -1899,7 +1898,7 @@ public:
return nullptr;
}
- for (ui32 i = 0; i < ListLength(value->tableElts); ++i) {
+ for (int i = 0; i < ListLength(value->tableElts); ++i) {
auto rawNode = ListNodeNth(value->tableElts, i);
switch (NodeTag(rawNode)) {
@@ -4342,7 +4341,7 @@ private:
auto it = LowerBound(RowStarts.begin(), RowStarts.end(), Min((ui32)location, QuerySize));
Y_ENSURE(it != RowStarts.end());
- if (*it == location) {
+ if (*it == (ui32)location) {
auto row = 1 + it - RowStarts.begin();
auto column = 1;
return NYql::TPosition(column, row);
diff --git a/ydb/library/yql/sql/pg/ut/ya.make b/ydb/library/yql/sql/pg/ut/ya.make
index 93d16ba650..ff988f47a9 100644
--- a/ydb/library/yql/sql/pg/ut/ya.make
+++ b/ydb/library/yql/sql/pg/ut/ya.make
@@ -22,6 +22,4 @@ PEERDIR(
SIZE(MEDIUM)
-NO_COMPILER_WARNINGS()
-
END()
diff --git a/ydb/library/yql/sql/pg/ya.make b/ydb/library/yql/sql/pg/ya.make
index 7ebd6b1582..e1fd9eff58 100644
--- a/ydb/library/yql/sql/pg/ya.make
+++ b/ydb/library/yql/sql/pg/ya.make
@@ -35,7 +35,6 @@ CFLAGS(
)
ENDIF()
-NO_COMPILER_WARNINGS()
YQL_LAST_ABI_VERSION()
END()