Skip to content

Commit 1b1d8f3

Browse files
authored
fix pg sql warnings (#1395)
* init * fix build
1 parent 8a154cb commit 1b1d8f3

File tree

6 files changed

+29
-24
lines changed

6 files changed

+29
-24
lines changed

ydb/library/yql/sql/pg/optimizer.cpp

+12-3
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,18 @@
1717
#undef SIZEOF_SIZE_T
1818

1919
extern "C" {
20+
Y_PRAGMA_DIAGNOSTIC_PUSH
21+
#ifdef _win_
22+
Y_PRAGMA("GCC diagnostic ignored \"-Wshift-count-overflow\"")
23+
#endif
24+
Y_PRAGMA("GCC diagnostic ignored \"-Wunused-parameter\"")
2025
#include "postgres.h"
2126
#include "miscadmin.h"
2227
#include "optimizer/paths.h"
2328
#include "nodes/print.h"
2429
#include "utils/selfuncs.h"
2530
#include "utils/palloc.h"
31+
Y_PRAGMA_DIAGNOSTIC_POP
2632
}
2733

2834
#undef Min
@@ -40,6 +46,9 @@ bool RelationStatsHook(
4046
AttrNumber attnum,
4147
VariableStatData *vardata)
4248
{
49+
Y_UNUSED(root);
50+
Y_UNUSED(rte);
51+
Y_UNUSED(attnum);
4352
vardata->statsTuple = nullptr;
4453
return true;
4554
}
@@ -224,8 +233,8 @@ int TPgOptimizer::MakeOutputJoin(TOutput& output, Path* path) {
224233

225234
for (int i = 0; i < list_length(jpath->joinrestrictinfo); i++) {
226235
RestrictInfo* rinfo = (RestrictInfo*)jpath->joinrestrictinfo->elements[i].ptr_value;
227-
Var* left;
228-
Var* right;
236+
Var* left = nullptr;
237+
Var* right = nullptr;
229238

230239
if (jpath->jointype == JOIN_INNER) {
231240
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,
279288
ri->clause = (Expr*)oe;
280289

281290
bool left = true;
282-
for (const auto [relId, varId] : eq.Vars) {
291+
for (const auto& [relId, varId] : eq.Vars) {
283292
ri->required_relids = bms_add_member(ri->required_relids, relId);
284293
ri->clause_relids = bms_add_member(ri->clause_relids, relId);
285294
if (left) {

ydb/library/yql/sql/pg/optimizer_impl_ut.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Y_UNIT_TEST(MakeRelOptInfoList) {
8282
TArenaMemoryContext ctx;
8383
IOptimizer::TRel rel1 = {10, 100, {{}}};
8484
IOptimizer::TRel rel2 = {100, 99, {{}}};
85-
IOptimizer::TInput input = {{rel1, rel2}};
85+
IOptimizer::TInput input = {.Rels={rel1, rel2}};
8686
auto* l = MakeRelOptInfoList(input);
8787
UNIT_ASSERT(l);
8888
UNIT_ASSERT_EQUAL(l->length, 2);

ydb/library/yql/sql/pg/optimizer_ut.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Y_TEST_HOOK_BEFORE_RUN(InitTest) {
1818
Y_UNIT_TEST(PgJoinSearch2Rels) {
1919
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
2020
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
21-
IOptimizer::TInput input = {{rel1, rel2}};
21+
IOptimizer::TInput input = {.Rels={rel1, rel2}};
2222

2323
input.EqClasses.emplace_back(IOptimizer::TEq {
2424
{{1, 1}, {2, 1}}
@@ -56,7 +56,7 @@ Y_UNIT_TEST(PgJoinSearch2Rels) {
5656
Y_UNIT_TEST(PgJoinSearch2RelsLeft) {
5757
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
5858
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
59-
IOptimizer::TInput input = {{rel1, rel2}};
59+
IOptimizer::TInput input = {.Rels={rel1, rel2}};
6060

6161
input.EqClasses.emplace_back(IOptimizer::TEq {
6262
{{1, 1}}
@@ -102,7 +102,7 @@ Y_UNIT_TEST(PgJoinSearch2RelsLeft) {
102102
Y_UNIT_TEST(PgJoinSearch2RelsRight) {
103103
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
104104
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
105-
IOptimizer::TInput input = {{rel1, rel2}};
105+
IOptimizer::TInput input = {.Rels={rel1, rel2}};
106106

107107
input.EqClasses.emplace_back(IOptimizer::TEq {
108108
{{1, 1}}
@@ -149,7 +149,7 @@ Y_UNIT_TEST(PgJoinSearch3Rels) {
149149
IOptimizer::TRel rel1 = {100000, 1000000, {{'a'}}};
150150
IOptimizer::TRel rel2 = {1000000, 9000009, {{'b'}}};
151151
IOptimizer::TRel rel3 = {10000, 9009, {{'c'}}};
152-
IOptimizer::TInput input = {{rel1, rel2, rel3}};
152+
IOptimizer::TInput input = {.Rels={rel1, rel2, rel3}};
153153

154154
input.EqClasses.emplace_back(IOptimizer::TEq {
155155
{{1, 1}, {2, 1}, {3, 1}}

ydb/library/yql/sql/pg/pg_sql.cpp

+12-13
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ class TConverter : public IPGParseEvents {
397397
{
398398
// YQL-16284
399399
const char* node_name = CAST_NODE(VariableSetStmt, node)->name;
400-
char* skip_statements[] = {
400+
const char* skip_statements[] = {
401401
"extra_float_digits", // jdbc
402402
"application_name", // jdbc
403403
"statement_timeout", // pg_dump
@@ -446,7 +446,6 @@ class TConverter : public IPGParseEvents {
446446
}
447447

448448
auto* tuples = listOfTuples.mutable_value()->mutable_items();
449-
size_t idx = 0;
450449
size_t cols = columnTypes.size();
451450
for (size_t idx = 0; idx < autoParamLiterals.size(); idx += cols){
452451
auto* tuple = tuples->Add();
@@ -636,17 +635,17 @@ class TConverter : public IPGParseEvents {
636635
auto length = ListLength(value->args);
637636
if (length != 3) {
638637
AddError(TStringBuilder() << "Expected 3 arguments, but got: " << length);
639-
return;
638+
return nullptr;
640639
}
641-
auto loc = value->location;
640+
642641
VariableSetStmt config;
643642
config.kind = VAR_SET_VALUE;
644643
auto arg0 = ListNodeNth(value->args, 0);
645644
auto arg1 = ListNodeNth(value->args, 1);
646645
auto arg2 = ListNodeNth(value->args, 2);
647646
if (NodeTag(arg2) != T_TypeCast) {
648647
AddError(TStringBuilder() << "Expected type cast node as is_local arg, but got node with tag");
649-
return;
648+
return nullptr;
650649
}
651650
auto isLocalCast = CAST_NODE(TypeCast, arg2)->arg;
652651
if (NodeTag(isLocalCast) != T_A_Const) {
@@ -661,7 +660,7 @@ class TConverter : public IPGParseEvents {
661660
auto rawVal = TString(StrVal(isLocalConst->val));
662661
if (rawVal != "t" && rawVal != "f") {
663662
AddError(TStringBuilder() << "Expected t/f, but got " << rawVal);
664-
return;
663+
return nullptr;
665664
}
666665
config.is_local = rawVal == "t";
667666

@@ -674,7 +673,7 @@ class TConverter : public IPGParseEvents {
674673
auto val = CAST_NODE(A_Const, arg1)->val;
675674
if (NodeTag(name) != T_String || NodeTag(val) != T_String) {
676675
AddError(TStringBuilder() << "Expected string const as name arg, but got something else: " << NodeTag(name));
677-
return;
676+
return nullptr;
678677
}
679678
config.name = (char*)StrVal(name);
680679
config.args = list_make1((void*)(&val));
@@ -1320,7 +1319,7 @@ class TConverter : public IPGParseEvents {
13201319
return {};
13211320
}
13221321
ui32 index = 0;
1323-
for (size_t i = 0; i < ListLength(returningList); i++) {
1322+
for (int i = 0; i < ListLength(returningList); i++) {
13241323
auto node = ListNodeNth(returningList, i);
13251324
if (NodeTag(node) != T_ResTarget) {
13261325
NodeNotImplemented(returningList, node);
@@ -1375,7 +1374,7 @@ class TConverter : public IPGParseEvents {
13751374

13761375
TVector <TAstNode*> targetColumns;
13771376
if (value->cols) {
1378-
for (size_t i = 0; i < ListLength(value->cols); i++) {
1377+
for (int i = 0; i < ListLength(value->cols); i++) {
13791378
auto node = ListNodeNth(value->cols, i);
13801379
if (NodeTag(node) != T_ResTarget) {
13811380
NodeNotImplemented(value, node);
@@ -1612,7 +1611,7 @@ class TConverter : public IPGParseEvents {
16121611
if (!CheckConstraintSupported(pk))
16131612
return false;
16141613

1615-
for (auto i = 0; i < ListLength(pk->keys); ++i) {
1614+
for (int i = 0; i < ListLength(pk->keys); ++i) {
16161615
auto node = ListNodeNth(pk->keys, i);
16171616
auto nodeName = StrVal(node);
16181617

@@ -1677,7 +1676,7 @@ class TConverter : public IPGParseEvents {
16771676
TColumnInfo cinfo{.Name = node->colname};
16781677

16791678
if (node->constraints) {
1680-
for (ui32 i = 0; i < ListLength(node->constraints); ++i) {
1679+
for (int i = 0; i < ListLength(node->constraints); ++i) {
16811680
auto constraintNode =
16821681
CAST_NODE(Constraint, ListNodeNth(node->constraints, i));
16831682

@@ -1899,7 +1898,7 @@ class TConverter : public IPGParseEvents {
18991898
return nullptr;
19001899
}
19011900

1902-
for (ui32 i = 0; i < ListLength(value->tableElts); ++i) {
1901+
for (int i = 0; i < ListLength(value->tableElts); ++i) {
19031902
auto rawNode = ListNodeNth(value->tableElts, i);
19041903

19051904
switch (NodeTag(rawNode)) {
@@ -4342,7 +4341,7 @@ class TConverter : public IPGParseEvents {
43424341
auto it = LowerBound(RowStarts.begin(), RowStarts.end(), Min((ui32)location, QuerySize));
43434342
Y_ENSURE(it != RowStarts.end());
43444343

4345-
if (*it == location) {
4344+
if (*it == (ui32)location) {
43464345
auto row = 1 + it - RowStarts.begin();
43474346
auto column = 1;
43484347
return NYql::TPosition(column, row);

ydb/library/yql/sql/pg/ut/ya.make

-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,4 @@ PEERDIR(
2222

2323
SIZE(MEDIUM)
2424

25-
NO_COMPILER_WARNINGS()
26-
2725
END()

ydb/library/yql/sql/pg/ya.make

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ CFLAGS(
3535
)
3636
ENDIF()
3737

38-
NO_COMPILER_WARNINGS()
3938
YQL_LAST_ABI_VERSION()
4039

4140
END()

0 commit comments

Comments
 (0)