Просмотр исходного кода

Fix IsStrict in set UDF

IsStrict() is always called
marsaly 2 лет назад
Родитель
Сommit
23338f4ee0
1 измененных файлов с 12 добавлено и 12 удалено
  1. 12 12
      ydb/library/yql/udfs/common/set/set_udf.cpp

+ 12 - 12
ydb/library/yql/udfs/common/set/set_udf.cpp

@@ -453,11 +453,11 @@ public:
             }
             }
 
 
             if (name == CreateName) {
             if (name == CreateName) {
+                builder.IsStrict();
+
                 builder.Args()->Add(valueType).Add<ui32>().Done().Returns(setType);
                 builder.Args()->Add(valueType).Add<ui32>().Done().Returns(setType);
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetCreate(hash, equate));
                         builder.Implementation(new TSetCreate(hash, equate));
                     } else {
                     } else {
@@ -469,11 +469,11 @@ public:
             }
             }
 
 
             if (name == AddValueName) {
             if (name == AddValueName) {
+                builder.IsStrict();
+
                 builder.Args()->Add(setType).Add(valueType).Done().Returns(setType);
                 builder.Args()->Add(setType).Add(valueType).Done().Returns(setType);
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetAddValue);
                         builder.Implementation(new TSetAddValue);
                     } else {
                     } else {
@@ -485,11 +485,11 @@ public:
             }
             }
 
 
             if (name == WasChangedName) {
             if (name == WasChangedName) {
+                builder.IsStrict();
+
                 builder.Args()->Add(setType).Done().Returns<bool>();
                 builder.Args()->Add(setType).Done().Returns<bool>();
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetWasChanged);
                         builder.Implementation(new TSetWasChanged);
                     } else {
                     } else {
@@ -501,11 +501,11 @@ public:
             }
             }
 
 
             if (name == MergeName) {
             if (name == MergeName) {
+                builder.IsStrict();
+
                 builder.Args()->Add(setType).Add(setType).Done().Returns(setType);
                 builder.Args()->Add(setType).Add(setType).Done().Returns(setType);
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetMerge(hash, equate));
                         builder.Implementation(new TSetMerge(hash, equate));
                     } else {
                     } else {
@@ -517,11 +517,11 @@ public:
             }
             }
 
 
             if (name == SerializeName) {
             if (name == SerializeName) {
+                builder.IsStrict();
+
                 builder.Args()->Add(setType).Done().Returns(serializedType);
                 builder.Args()->Add(setType).Done().Returns(serializedType);
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetSerialize);
                         builder.Implementation(new TSetSerialize);
                     } else {
                     } else {
@@ -549,11 +549,11 @@ public:
             if (name == GetResultName) {
             if (name == GetResultName) {
                 auto resultType = builder.List()->Item(valueType).Build();
                 auto resultType = builder.List()->Item(valueType).Build();
 
 
+                builder.IsStrict();
+
                 builder.Args()->Add(setType).Done().Returns(resultType);
                 builder.Args()->Add(setType).Done().Returns(resultType);
 
 
                 if (!typesOnly) {
                 if (!typesOnly) {
-                    builder.IsStrict();
-
                     if (isGeneric) {
                     if (isGeneric) {
                         builder.Implementation(new TSetGetResult);
                         builder.Implementation(new TSetGetResult);
                     } else {
                     } else {