diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2025-02-03 19:15:43 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2025-02-03 19:29:25 +0300 |
commit | 77ee0394b2632327b0789f4adc0434ee90856ef2 (patch) | |
tree | 66ec010a4bc6dcba79e12d1766d19c3bb97282c2 | |
parent | ca1b99bb0935aa604330db8d93bb366bc4bb10c9 (diff) | |
download | ydb-77ee0394b2632327b0789f4adc0434ee90856ef2.tar.gz |
Intermediate changes
commit_hash:1cef0cf05075cdc1ff60c3675d89b7135b260071
8 files changed, 56 insertions, 6 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym index 2ba2f81dd1..87c16c302e 100644 --- a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym +++ b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym @@ -113,8 +113,9 @@ ELSEIF (OS_IOS) ) ELSEIF (OS_LINUX OR OS_DARWIN) IF (ARCH_ARM7) - # XXX: libcxxrt support for ARM is currently broken - SET(CXX_RT "glibcxx_static") + # libcxxrt support for ARM is currently broken, use libcxxabi instead + # But allow switching back to glibcxx_static via -DCXX_RT=glibcxx_static + DEFAULT(CXX_RT "libcxxabi") # ARM7 OS_SDK has old libstdc++ without aligned allocation support CFLAGS( GLOBAL -fno-aligned-new diff --git a/contrib/libs/cxxsupp/libcxx/ya.make b/contrib/libs/cxxsupp/libcxx/ya.make index 7f7045a21e..a3f6634764 100644 --- a/contrib/libs/cxxsupp/libcxx/ya.make +++ b/contrib/libs/cxxsupp/libcxx/ya.make @@ -35,8 +35,9 @@ ELSEIF (OS_IOS) ) ELSEIF (OS_LINUX OR OS_DARWIN) IF (ARCH_ARM7) - # XXX: libcxxrt support for ARM is currently broken - SET(CXX_RT "glibcxx_static") + # libcxxrt support for ARM is currently broken, use libcxxabi instead + # But allow switching back to glibcxx_static via -DCXX_RT=glibcxx_static + DEFAULT(CXX_RT "libcxxabi") # ARM7 OS_SDK has old libstdc++ without aligned allocation support CFLAGS( GLOBAL -fno-aligned-new diff --git a/contrib/libs/openldap/.yandex_meta/__init__.py b/contrib/libs/openldap/.yandex_meta/__init__.py index 4bba5887a4..58eb8f176f 100644 --- a/contrib/libs/openldap/.yandex_meta/__init__.py +++ b/contrib/libs/openldap/.yandex_meta/__init__.py @@ -13,6 +13,7 @@ def openldap_post_install(self): ) self.yamakes.make_recursive(recurse_from_modules=True) with self.yamakes["libraries/liblmdb"] as m: + m.after("CFLAGS", Switch({'DEFINED LMDB_IDL_LOGN': Linkable(CFLAGS=["-DMDB_IDL_LOGN=${LMDB_IDL_LOGN}"])})) m.after("CFLAGS", Switch(OS_ANDROID=Linkable(CFLAGS=["-DMDB_USE_ROBUST=0"]))) diff --git a/contrib/libs/openldap/libraries/liblmdb/ya.make b/contrib/libs/openldap/libraries/liblmdb/ya.make index 3e5c14e6af..8d387bd645 100644 --- a/contrib/libs/openldap/libraries/liblmdb/ya.make +++ b/contrib/libs/openldap/libraries/liblmdb/ya.make @@ -20,6 +20,12 @@ CFLAGS( -DLDAPI_SOCK=\"/run/openldap/ldapi\" ) +IF (DEFINED LMDB_IDL_LOGN) + CFLAGS( + -DMDB_IDL_LOGN=${LMDB_IDL_LOGN} + ) +ENDIF() + IF (OS_ANDROID) CFLAGS( -DMDB_USE_ROBUST=0 diff --git a/yql/essentials/cfg/tests/gateways-experimental.conf b/yql/essentials/cfg/tests/gateways-experimental.conf index 5f35c343d2..d2c50367da 100644 --- a/yql/essentials/cfg/tests/gateways-experimental.conf +++ b/yql/essentials/cfg/tests/gateways-experimental.conf @@ -25,6 +25,6 @@ SqlCore { YqlCore { Flags { Name: "OptimizerFlags" - Args: ["FieldSubsetEnableMultiusage", "EarlyExpandSkipNull"] + Args: ["FieldSubsetEnableMultiusage", "MemberNthOverFlatMap", "ExtractMembersSplitOnOptional", "FilterNullMembersOverJust"] } } diff --git a/yql/essentials/core/type_ann/type-ann-coverage.ignore b/yql/essentials/core/type_ann/type-ann-coverage.ignore index 34630abab3..89a4664278 100644 --- a/yql/essentials/core/type_ann/type-ann-coverage.ignore +++ b/yql/essentials/core/type_ann/type-ann-coverage.ignore @@ -2,4 +2,3 @@ GraceJoinCoreWrapper GraceSelfJoinCoreWrapper SqlExternalFunctionWrapper UnsafeTimestampCastWrapper -BlockMapJoinCoreWrapper diff --git a/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json b/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json index db2afce474..90ba14b9ea 100644 --- a/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json +++ b/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json @@ -1,4 +1,18 @@ { + "test.test[Blocks-BlockMapJoinCore-default.txt-Debug]": [ + { + "checksum": "71db64c54c014278aadebde24e80edca", + "size": 1864, + "uri": "https://{canondata_backend}/1936997/67628cc299565ace722746c32bfd5aa5ec155b43/resource.tar.gz#test.test_Blocks-BlockMapJoinCore-default.txt-Debug_/opt.yql" + } + ], + "test.test[Blocks-BlockMapJoinCore-default.txt-Results]": [ + { + "checksum": "0b92c1a4b6b8f47e4a62aa420c36ee97", + "size": 9574, + "uri": "https://{canondata_backend}/1936997/67628cc299565ace722746c32bfd5aa5ec155b43/resource.tar.gz#test.test_Blocks-BlockMapJoinCore-default.txt-Results_/results.txt" + } + ], "test.test[Builtins-ConstraintsOf-default.txt-Debug]": [ { "checksum": "b4766463022fb5885bc259408b01b951", diff --git a/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls b/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls new file mode 100644 index 0000000000..e47ea29f6a --- /dev/null +++ b/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls @@ -0,0 +1,28 @@ +( +(let config (DataSource 'config)) +(let res_sink (DataSink 'result)) + +(let row1 (AsStruct '('"key" (Int32 '1)) '('"subkey" (Int32 '"1001")) '('"value" (String '"AAA")))) +(let row2 (AsStruct '('"key" (Int32 '2)) '('"subkey" (Int32 '"1002")) '('"value" (String '"AAB")))) +(let row3 (AsStruct '('"key" (Int32 '3)) '('"subkey" (Int32 '"1003")) '('"value" (String '"AAC")))) +(let row4 (AsStruct '('"key" (Int32 '4)) '('"subkey" (Int32 '"1004")) '('"value" (String '"AAD")))) +(let row5 (AsStruct '('"key" (Int32 '5)) '('"subkey" (Int32 '"1005")) '('"value" (String '"AAE")))) +(let table (AsList row1 row2 row3 row4 row5)) + +(let expandLambda (lambda '(item) (Member item '"key") (Member item '"subkey") (Member item '"value"))) +(let narrowLambdaInner (lambda '(item1 item2 item3 item4 item5 item6) (AsStruct '('"akey" item1) '('"asubkey" item2) '('"avalue" item3) '('"bkey" item4) '('"bsubkey" item5) '('"bvalue" item6)))) +(let narrowLambdaLeft (lambda '(item1 item2 item3 item4) (AsStruct '('"asubkey" item1) '('"avalue" item2) '('"bsubkey" item3) '('"bvalue" item4)))) +(let narrowLambdaLeftSemi (lambda '(item1 item2) (AsStruct '('"asubkey" item1) '('"avalue" item2)))) + +(let doJoin (lambda '(left right narrowMapLambda joinKind leftKeyColumns leftKeyDrops rightKeyColumns rightKeyDrops) (block '( + (return (Collect (NarrowMap (ToFlow (WideFromBlocks (BlockMapJoinCore (FromFlow (WideToBlocks (ExpandMap left expandLambda))) (FromFlow (WideToBlocks (ExpandMap right expandLambda))) joinKind leftKeyColumns leftKeyDrops rightKeyColumns rightKeyDrops '()))) narrowMapLambda))) +)))) + +(let innerJoin (Apply doJoin (ToFlow table (DependsOn (String '0))) (ToFlow table (DependsOn (String '1))) narrowLambdaInner 'Inner '('0) '() '('0) '())) +(let leftJoin (Apply doJoin (ToFlow table (DependsOn (String '2))) (ToFlow table (DependsOn (String '3))) narrowLambdaLeft 'Left '('0) '('0) '('0) '('0))) +(let leftSemiJoin (Apply doJoin (ToFlow table (DependsOn (String '4))) (ToFlow table (DependsOn (String '5))) narrowLambdaLeftSemi 'LeftSemi '('0) '('0) '('0) '())) + +(let world (Write! world res_sink (Key) (AsStruct '('"inner" innerJoin) '('"left" leftJoin) '('"leftSemi" leftSemiJoin)) '('('type)))) +(let world (Commit! world res_sink)) +(return world) +) |