diff options
author | Vitaly Stoyan <vvvv@ydb.tech> | 2024-01-29 22:16:37 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-29 22:16:37 +0300 |
commit | 1b1d8f33961ffa0481a145f768f6bb3917ad016e (patch) | |
tree | 5cf4a3d3e4fe5362d93b28cef81c6301960eba5b | |
parent | 8a154cba3ff3d0a6dd6fa2ae07f1a645a205ba09 (diff) | |
download | ydb-1b1d8f33961ffa0481a145f768f6bb3917ad016e.tar.gz |
fix pg sql warnings (#1395)
* init
* fix build
-rw-r--r-- | ydb/library/yql/sql/pg/optimizer.cpp | 15 | ||||
-rw-r--r-- | ydb/library/yql/sql/pg/optimizer_impl_ut.cpp | 2 | ||||
-rw-r--r-- | ydb/library/yql/sql/pg/optimizer_ut.cpp | 8 | ||||
-rw-r--r-- | ydb/library/yql/sql/pg/pg_sql.cpp | 25 | ||||
-rw-r--r-- | ydb/library/yql/sql/pg/ut/ya.make | 2 | ||||
-rw-r--r-- | ydb/library/yql/sql/pg/ya.make | 1 |
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() |