diff options
author | galaxycrab <UgnineSirdis@ydb.tech> | 2023-03-24 09:41:24 +0300 |
---|---|---|
committer | galaxycrab <UgnineSirdis@ydb.tech> | 2023-03-24 09:41:24 +0300 |
commit | d10a044a8ef0e1ac2af81bcb491d957d26044c51 (patch) | |
tree | 4fcdc198676105ff8c5d2d9ab61ec88d522cdea3 | |
parent | c58c8aede3920df7b47f579b78827757f4be6569 (diff) | |
download | ydb-d10a044a8ef0e1ac2af81bcb491d957d26044c51.tar.gz |
Optimizers for provider's support in KQP
Поддержал провайдеры как в прототипе (но более обобщённым кодом): https://a.yandex-team.ru/review/3230514/details
Пока поддержка коннекшенов и биндингов захардкожена, она будет делаться отдельно
Скорее всего, после понадобится перетаскивать dqs expr-nodes в dq. Хочется сделать это отдельным ревью
77 files changed, 1530 insertions, 278 deletions
diff --git a/contrib/libs/CMakeLists.windows-x86_64.txt b/contrib/libs/CMakeLists.windows-x86_64.txt index 0774a86754d..cd2534dc933 100644 --- a/contrib/libs/CMakeLists.windows-x86_64.txt +++ b/contrib/libs/CMakeLists.windows-x86_64.txt @@ -8,6 +8,7 @@ add_subdirectory(antlr3_cpp_runtime) add_subdirectory(apache) +add_subdirectory(aws-sdk-cpp) add_subdirectory(base64) add_subdirectory(brotli) add_subdirectory(cctz) diff --git a/contrib/libs/aws-sdk-cpp/CMakeLists.darwin-x86_64.txt b/contrib/libs/aws-sdk-cpp/CMakeLists.darwin-x86_64.txt deleted file mode 100644 index 13822480e02..00000000000 --- a/contrib/libs/aws-sdk-cpp/CMakeLists.darwin-x86_64.txt +++ /dev/null @@ -1,10 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-cpp-sdk-core) -add_subdirectory(aws-cpp-sdk-s3) diff --git a/contrib/libs/aws-sdk-cpp/CMakeLists.linux-aarch64.txt b/contrib/libs/aws-sdk-cpp/CMakeLists.linux-aarch64.txt deleted file mode 100644 index 13822480e02..00000000000 --- a/contrib/libs/aws-sdk-cpp/CMakeLists.linux-aarch64.txt +++ /dev/null @@ -1,10 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-cpp-sdk-core) -add_subdirectory(aws-cpp-sdk-s3) diff --git a/contrib/libs/aws-sdk-cpp/CMakeLists.linux-x86_64.txt b/contrib/libs/aws-sdk-cpp/CMakeLists.linux-x86_64.txt deleted file mode 100644 index 13822480e02..00000000000 --- a/contrib/libs/aws-sdk-cpp/CMakeLists.linux-x86_64.txt +++ /dev/null @@ -1,10 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-cpp-sdk-core) -add_subdirectory(aws-cpp-sdk-s3) diff --git a/contrib/libs/aws-sdk-cpp/CMakeLists.txt b/contrib/libs/aws-sdk-cpp/CMakeLists.txt index 7243bc137a9..13822480e02 100644 --- a/contrib/libs/aws-sdk-cpp/CMakeLists.txt +++ b/contrib/libs/aws-sdk-cpp/CMakeLists.txt @@ -6,10 +6,5 @@ # original buildsystem will not be accepted. -if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - include(CMakeLists.linux-aarch64.txt) -elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - include(CMakeLists.darwin-x86_64.txt) -elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) - include(CMakeLists.linux-x86_64.txt) -endif() +add_subdirectory(aws-cpp-sdk-core) +add_subdirectory(aws-cpp-sdk-s3) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.windows-x86_64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..b124eac4563 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/CMakeLists.windows-x86_64.txt @@ -0,0 +1,149 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +find_package(OpenSSL REQUIRED) + +add_library(libs-aws-sdk-cpp-aws-cpp-sdk-core) +target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-core PRIVATE + -DAWS_CAL_USE_IMPORT_EXPORT + -DAWS_CHECKSUMS_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_SDK_VERSION_MAJOR=1 + -DAWS_SDK_VERSION_MINOR=8 + -DAWS_SDK_VERSION_PATCH=186 + -DAWS_USE_EPOLL + -DCURL_HAS_H2 + -DCURL_HAS_TLS_PROXY + -DENABLE_CURL_CLIENT + -DENABLE_CURL_LOGGING + -DENABLE_OPENSSL_ENCRYPTION + -DHAS_PATHCONF + -DHAS_UMASK + -DS2N_ADX + -DS2N_BIKE_R3_AVX2 + -DS2N_BIKE_R3_AVX512 + -DS2N_BIKE_R3_PCLMUL + -DS2N_BIKE_R3_VPCLMUL + -DS2N_CPUID_AVAILABLE + -DS2N_FALL_THROUGH_SUPPORTED + -DS2N_HAVE_EXECINFO + -DS2N_KYBER512R3_AVX2_BMI2 + -DS2N_SIKE_P434_R3_ASM + -DS2N___RESTRICT__SUPPORTED + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-core PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/include +) +target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-core PUBLIC + contrib-libs-cxxsupp + contrib-libs-curl + OpenSSL::OpenSSL + restricted-aws-aws-c-common + restricted-aws-aws-c-event-stream +) +target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-core PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/AmazonSerializableWebServiceRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/AmazonStreamingWebServiceRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/AmazonWebServiceRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/Aws.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/Globals.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/Region.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/Version.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSignerProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSCredentialsProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSCredentialsProviderChain.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/SSOCredentialsProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/STSCredentialsProvider.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AWSClient.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AWSErrorMarshaller.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AsyncCallerContext.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/CoreErrors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/DefaultRetryStrategy.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/RetryStrategy.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/SpecifiedRetryableErrorsRetryStrategy.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/config/AWSProfileConfigLoader.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/external/cjson/cJSON.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/external/tinyxml2/tinyxml2.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/HttpClient.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/HttpClientFactory.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/HttpRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/HttpTypes.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/Scheme.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/URI.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/curl/CurlHandleContainer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/curl/CurlHttpClient.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/standard/StandardHttpRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/http/standard/StandardHttpResponse.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/internal/AWSHttpResourceClient.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/monitoring/DefaultMonitoring.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/monitoring/HttpClientMetrics.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/monitoring/MonitoringManager.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/ARN.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/Array.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/DNS.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/DateTimeCommon.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/Directory.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/EnumParseOverflowContainer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/FileSystemUtils.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/GetTheLights.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/HashingUtils.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/StringUtils.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/TempFile.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/UUID.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/base64/Base64.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/Cipher.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/ContentCryptoMaterial.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/ContentCryptoScheme.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/CryptoBuf.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/CryptoStream.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/EncryptionMaterials.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/KeyWrapAlgorithm.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/MD5.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/Sha1.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/Sha256.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/Sha256HMAC.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/factory/Factories.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/openssl/CryptoImpl.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventDecoderStream.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventEncoderStream.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventHeader.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventMessage.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventStreamBuf.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventStreamDecoder.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventStreamEncoder.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/event/EventStreamErrors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/json/JsonSerializer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/logging/AWSLogging.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/logging/ConsoleLogSystem.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/logging/DefaultLogSystem.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/logging/FormattedLogSystem.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/logging/LogLevel.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/memory/AWSMemory.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/memory/stl/SimpleStringStream.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/stream/ConcurrentStreamBuf.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/stream/PreallocatedStreamBuf.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/stream/ResponseStream.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/stream/SimpleStreamBuf.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/threading/Executor.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/threading/ReaderWriterLock.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/threading/Semaphore.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/threading/ThreadTask.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/xml/XmlSerializer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/net/windows/Net.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/net/windows/SimpleUDP.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/platform/windows/Environment.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/platform/windows/FileSystem.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/platform/windows/OSVersionInfo.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/platform/windows/Security.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/platform/windows/Time.cpp +) diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.txt +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..1b1705649a5 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/CMakeLists.windows-x86_64.txt @@ -0,0 +1,389 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(libs-aws-sdk-cpp-aws-cpp-sdk-s3) +target_compile_options(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + -DAWS_CAL_USE_IMPORT_EXPORT + -DAWS_CHECKSUMS_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_SDK_VERSION_MAJOR=1 + -DAWS_SDK_VERSION_MINOR=8 + -DAWS_SDK_VERSION_PATCH=186 + -DAWS_USE_EPOLL + -DENABLE_CURL_CLIENT + -DENABLE_OPENSSL_ENCRYPTION + -DHAS_PATHCONF + -DHAS_UMASK + -DS2N_ADX + -DS2N_BIKE_R3_AVX2 + -DS2N_BIKE_R3_AVX512 + -DS2N_BIKE_R3_PCLMUL + -DS2N_BIKE_R3_VPCLMUL + -DS2N_CPUID_AVAILABLE + -DS2N_FALL_THROUGH_SUPPORTED + -DS2N_HAVE_EXECINFO + -DS2N_KYBER512R3_AVX2_BMI2 + -DS2N_SIKE_P434_R3_ASM + -DS2N___RESTRICT__SUPPORTED + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include +) +target_include_directories(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/include +) +target_link_libraries(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PUBLIC + contrib-libs-cxxsupp + libs-aws-sdk-cpp-aws-cpp-sdk-core + restricted-aws-aws-c-common + restricted-aws-aws-c-event-stream +) +target_sources(libs-aws-sdk-cpp-aws-cpp-sdk-s3 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ARN.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Client.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Endpoint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3ErrorMarshaller.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/S3Errors.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortIncompleteMultipartUpload.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AbortMultipartUploadResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccelerateConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlPolicy.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AccessControlTranslation.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsAndOperator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsExportDestination.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3BucketDestination.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/AnalyticsS3ExportFileFormat.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ArchiveStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Bucket.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketAccelerateStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketCannedACL.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLifecycleConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLocationConstraint.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLoggingStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketLogsPermission.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/BucketVersioningStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CORSRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVInput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CSVOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CloudFunctionConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CommonPrefix.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedMultipartUpload.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompletedPart.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CompressionType.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Condition.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyObjectResultDetails.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CopyPartResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateBucketResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/CreateMultipartUploadResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DefaultRetention.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Delete.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketAnalyticsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketCorsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketEncryptionRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketInventoryConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketLifecycleRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketMetricsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketOwnershipControlsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketPolicyRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketReplicationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteBucketWebsiteRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerEntry.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplication.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteMarkerReplicationStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectTaggingResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeleteObjectsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletePublicAccessBlockRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/DeletedObject.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Destination.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncodingType.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Encryption.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/EncryptionConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Error.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ErrorDocument.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Event.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplication.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExistingObjectReplicationStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpirationStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ExpressionType.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FileHeaderInfo.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/FilterRuleName.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAccelerateConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketAnalyticsConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketCorsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketEncryptionResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketInventoryConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLifecycleConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLocationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketLoggingResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketMetricsConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketNotificationConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketOwnershipControlsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketPolicyStatusResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketReplicationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketRequestPaymentResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketTaggingResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketVersioningResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetBucketWebsiteResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLegalHoldResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectLockConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectRetentionResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTaggingResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetObjectTorrentResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GetPublicAccessBlockResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/GlacierJobParameters.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grant.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Grantee.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadBucketRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IndexDocument.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Initiator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InputSerialization.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAccessTier.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringAndOperator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/IntelligentTieringStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InvalidObjectState.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryDestination.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryEncryption.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFormat.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryFrequency.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryIncludedObjectVersions.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryOptionalField.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventoryS3BucketDestination.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/InventorySchedule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONInput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONOutput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/JSONType.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LambdaFunctionConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleExpiration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleAndOperator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LifecycleRuleFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketAnalyticsConfigurationsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketInventoryConfigurationsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketMetricsConfigurationsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListBucketsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListMultipartUploadsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectVersionsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListObjectsV2Result.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ListPartsResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/LoggingEnabled.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADelete.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MFADeleteStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataDirective.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetadataEntry.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Metrics.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsAndOperator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MetricsStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/MultipartUpload.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionExpiration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NoncurrentVersionTransition.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationDeprecated.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/NotificationConfigurationFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Object.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectCannedACL.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectIdentifier.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockEnabled.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHold.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockLegalHoldStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockMode.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetention.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRetentionMode.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectLockRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectOwnership.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectStorageClass.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersion.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectVersionStorageClass.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputLocation.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OutputSerialization.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Owner.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnerOverride.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControls.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/OwnershipControlsRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ParquetInput.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Part.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Payer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PolicyStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Progress.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ProgressEvent.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Protocol.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PublicAccessBlockConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAccelerateConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAclRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketAnalyticsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketCorsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketEncryptionRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketInventoryConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLifecycleConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketLoggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketMetricsConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketNotificationConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketOwnershipControlsRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketPolicyRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketReplicationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketRequestPaymentRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketVersioningRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutBucketWebsiteRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectAclResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLegalHoldResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectLockConfigurationResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectRetentionResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutObjectTaggingResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/PutPublicAccessBlockRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QueueConfigurationDeprecated.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/QuoteFields.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Redirect.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RedirectAllRequestsTo.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModifications.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicaModificationsStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleAndOperator.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationRuleStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTime.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ReplicationTimeValue.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestCharged.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPayer.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestPaymentConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RequestProgress.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreObjectResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RestoreRequestType.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/RoutingRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Rule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3KeyFilter.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/S3Location.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSEKMS.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SSES3.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ScanRange.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentHandler.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectObjectContentRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SelectParameters.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryption.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionByDefault.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ServerSideEncryptionRule.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SourceSelectionCriteria.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjects.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/SseKmsEncryptedObjectsStatus.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Stats.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StatsEvent.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClass.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysis.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisDataExport.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/StorageClassAnalysisSchemaVersion.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tag.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tagging.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TaggingDirective.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TargetGrant.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tier.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Tiering.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TopicConfigurationDeprecated.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Transition.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/TransitionStorageClass.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Type.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartCopyResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/UploadPartResult.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/VersioningConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WebsiteConfiguration.cpp + ${CMAKE_SOURCE_DIR}/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/WriteGetObjectResponseRequest.cpp +) diff --git a/contrib/restricted/CMakeLists.windows-x86_64.txt b/contrib/restricted/CMakeLists.windows-x86_64.txt index fe72f088170..95bdfd675e3 100644 --- a/contrib/restricted/CMakeLists.windows-x86_64.txt +++ b/contrib/restricted/CMakeLists.windows-x86_64.txt @@ -8,6 +8,7 @@ add_subdirectory(abseil-cpp) add_subdirectory(abseil-cpp-tstring) +add_subdirectory(aws) add_subdirectory(boost) add_subdirectory(cityhash-1.0.2) add_subdirectory(fast_float) diff --git a/contrib/restricted/aws/CMakeLists.darwin-x86_64.txt b/contrib/restricted/aws/CMakeLists.darwin-x86_64.txt deleted file mode 100644 index 87ffccf907a..00000000000 --- a/contrib/restricted/aws/CMakeLists.darwin-x86_64.txt +++ /dev/null @@ -1,14 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-c-cal) -add_subdirectory(aws-c-common) -add_subdirectory(aws-c-event-stream) -add_subdirectory(aws-c-io) -add_subdirectory(aws-checksums) -add_subdirectory(s2n) diff --git a/contrib/restricted/aws/CMakeLists.linux-aarch64.txt b/contrib/restricted/aws/CMakeLists.linux-aarch64.txt deleted file mode 100644 index 87ffccf907a..00000000000 --- a/contrib/restricted/aws/CMakeLists.linux-aarch64.txt +++ /dev/null @@ -1,14 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-c-cal) -add_subdirectory(aws-c-common) -add_subdirectory(aws-c-event-stream) -add_subdirectory(aws-c-io) -add_subdirectory(aws-checksums) -add_subdirectory(s2n) diff --git a/contrib/restricted/aws/CMakeLists.linux-x86_64.txt b/contrib/restricted/aws/CMakeLists.linux-x86_64.txt deleted file mode 100644 index 87ffccf907a..00000000000 --- a/contrib/restricted/aws/CMakeLists.linux-x86_64.txt +++ /dev/null @@ -1,14 +0,0 @@ - -# This file was generated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -add_subdirectory(aws-c-cal) -add_subdirectory(aws-c-common) -add_subdirectory(aws-c-event-stream) -add_subdirectory(aws-c-io) -add_subdirectory(aws-checksums) -add_subdirectory(s2n) diff --git a/contrib/restricted/aws/CMakeLists.txt b/contrib/restricted/aws/CMakeLists.txt index 7243bc137a9..87ffccf907a 100644 --- a/contrib/restricted/aws/CMakeLists.txt +++ b/contrib/restricted/aws/CMakeLists.txt @@ -6,10 +6,9 @@ # original buildsystem will not be accepted. -if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - include(CMakeLists.linux-aarch64.txt) -elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - include(CMakeLists.darwin-x86_64.txt) -elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) - include(CMakeLists.linux-x86_64.txt) -endif() +add_subdirectory(aws-c-cal) +add_subdirectory(aws-c-common) +add_subdirectory(aws-c-event-stream) +add_subdirectory(aws-c-io) +add_subdirectory(aws-checksums) +add_subdirectory(s2n) diff --git a/contrib/restricted/aws/aws-c-cal/CMakeLists.txt b/contrib/restricted/aws/aws-c-cal/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/aws-c-cal/CMakeLists.txt +++ b/contrib/restricted/aws/aws-c-cal/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/aws-c-cal/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/aws-c-cal/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..c28381a676a --- /dev/null +++ b/contrib/restricted/aws/aws-c-cal/CMakeLists.windows-x86_64.txt @@ -0,0 +1,35 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +find_package(OpenSSL REQUIRED) + +add_library(restricted-aws-aws-c-cal) +target_compile_options(restricted-aws-aws-c-cal PRIVATE + -DAWS_CAL_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DHAVE_SYSCONF + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-aws-c-cal PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/include +) +target_link_libraries(restricted-aws-aws-c-cal PUBLIC + OpenSSL::OpenSSL + restricted-aws-aws-c-common +) +target_sources(restricted-aws-aws-c-cal PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/cal.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/der.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/ecc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/hash.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/hmac.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/unix/openssl_platform_init.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/unix/opensslcrypto_ecc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/unix/opensslcrypto_hash.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-cal/source/unix/opensslcrypto_hmac.c +) diff --git a/contrib/restricted/aws/aws-c-common/CMakeLists.txt b/contrib/restricted/aws/aws-c-common/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/aws-c-common/CMakeLists.txt +++ b/contrib/restricted/aws/aws-c-common/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/aws-c-common/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/aws-c-common/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..722ee7173e5 --- /dev/null +++ b/contrib/restricted/aws/aws-c-common/CMakeLists.windows-x86_64.txt @@ -0,0 +1,90 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-aws-aws-c-common) +target_compile_options(restricted-aws-aws-c-common PRIVATE + -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_PTHREAD_SETNAME_TAKES_2ARGS + -DCJSON_HIDE_SYMBOLS + -DHAVE_SYSCONF + -DAWS_AFFINITY_METHOD=AWS_AFFINITY_METHOD_PTHREAD_ATTR + -DHAVE_MM256_EXTRACT_EPI64 + -DHAVE_AVX2_INTRINSICS + -DUSE_SIMD_ENCODING + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-aws-c-common PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/generated/include + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/include +) +target_sources(restricted-aws-aws-c-common PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/allocator.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/allocator_sba.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/array_list.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/assert.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/bus.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/byte_buf.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/cache.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/codegen.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/command_line_parser.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/common.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/condition_variable.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/date_time.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/device_random.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/encoding.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/error.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/external/cJSON.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/fifo_cache.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/file.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/hash_table.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/json.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/lifo_cache.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/linked_hash_table.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/log_channel.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/log_formatter.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/log_writer.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/logging.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/lru_cache.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/math.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/memtrace.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/clock.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/condition_variable.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/device_random.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/environment.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/file.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/mutex.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/process.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/rw_lock.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/system_info.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/thread.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/posix/time.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/priority_queue.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/process_common.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/promise.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/ref_count.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/ring_buffer.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/statistics.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/string.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/task_scheduler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/thread_scheduler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/thread_shared.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/uri.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/uuid.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/xml_parser.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/arch/intel/asm/cpuid.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/arch/intel/cpuid.c +) +target_sources_custom(restricted-aws-aws-c-common + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-common/source/arch/intel/encoding_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) diff --git a/contrib/restricted/aws/aws-c-event-stream/CMakeLists.txt b/contrib/restricted/aws/aws-c-event-stream/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/aws-c-event-stream/CMakeLists.txt +++ b/contrib/restricted/aws/aws-c-event-stream/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/aws-c-event-stream/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/aws-c-event-stream/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..d7f9cd17a6f --- /dev/null +++ b/contrib/restricted/aws/aws-c-event-stream/CMakeLists.windows-x86_64.txt @@ -0,0 +1,50 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-aws-aws-c-event-stream) +target_compile_options(restricted-aws-aws-c-event-stream PRIVATE + -DAWS_CAL_USE_IMPORT_EXPORT + -DAWS_CHECKSUMS_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT + -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_USE_EPOLL + -DHAVE_SYSCONF + -DS2N_ADX + -DS2N_BIKE_R3_AVX2 + -DS2N_BIKE_R3_AVX512 + -DS2N_BIKE_R3_PCLMUL + -DS2N_CLONE_SUPPORTED + -DS2N_CPUID_AVAILABLE + -DS2N_FALL_THROUGH_SUPPORTED + -DS2N_FEATURES_AVAILABLE + -DS2N_HAVE_EXECINFO + -DS2N_KYBER512R3_AVX2_BMI2 + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_MADVISE_SUPPORTED + -DS2N_SIKE_P434_R3_ASM + -DS2N___RESTRICT__SUPPORTED + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-aws-c-event-stream PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/include +) +target_link_libraries(restricted-aws-aws-c-event-stream PUBLIC + restricted-aws-aws-c-common + restricted-aws-aws-c-io + restricted-aws-aws-checksums +) +target_sources(restricted-aws-aws-c-event-stream PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/source/event_stream.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/source/event_stream_channel_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/source/event_stream_rpc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/source/event_stream_rpc_client.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-event-stream/source/event_stream_rpc_server.c +) diff --git a/contrib/restricted/aws/aws-c-io/CMakeLists.txt b/contrib/restricted/aws/aws-c-io/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/aws-c-io/CMakeLists.txt +++ b/contrib/restricted/aws/aws-c-io/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/aws-c-io/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/aws-c-io/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..7c1b0626c2f --- /dev/null +++ b/contrib/restricted/aws/aws-c-io/CMakeLists.windows-x86_64.txt @@ -0,0 +1,64 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-aws-aws-c-io) +target_compile_options(restricted-aws-aws-c-io PRIVATE + -DAWS_CAL_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DAWS_IO_USE_IMPORT_EXPORT + -DAWS_USE_EPOLL + -DHAVE_SYSCONF + -DS2N_CLONE_SUPPORTED + -DS2N_CPUID_AVAILABLE + -DS2N_FALL_THROUGH_SUPPORTED + -DS2N_FEATURES_AVAILABLE + -DS2N_KYBER512R3_AVX2_BMI2 + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N_STACKTRACE + -DS2N___RESTRICT__SUPPORTED + -DUSE_S2N + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-aws-c-io PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/include +) +target_link_libraries(restricted-aws-aws-c-io PUBLIC + restricted-aws-aws-c-cal + restricted-aws-aws-c-common + restricted-aws-s2n +) +target_sources(restricted-aws-aws-c-io PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/alpn_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/channel.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/channel_bootstrap.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/event_loop.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/exponential_backoff_retry_strategy.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/host_resolver.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/io.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/message_pool.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/pem_utils.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/pkcs11_lib.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/pkcs11_tls_op_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/pki_utils.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/posix/host_resolver.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/posix/pipe.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/posix/shared_library.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/posix/socket.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/retry_strategy.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/s2n/s2n_tls_channel_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/socket_channel_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/standard_retry_strategy.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/statistics.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/stream.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/tls_channel_handler.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-c-io/source/tls_channel_handler_shared.c +) diff --git a/contrib/restricted/aws/aws-checksums/CMakeLists.txt b/contrib/restricted/aws/aws-checksums/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/aws-checksums/CMakeLists.txt +++ b/contrib/restricted/aws/aws-checksums/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/aws-checksums/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/aws-checksums/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..c7805ff1e28 --- /dev/null +++ b/contrib/restricted/aws/aws-checksums/CMakeLists.windows-x86_64.txt @@ -0,0 +1,27 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-aws-aws-checksums) +target_compile_options(restricted-aws-aws-checksums PRIVATE + -DAWS_CHECKSUMS_USE_IMPORT_EXPORT + -DAWS_COMMON_USE_IMPORT_EXPORT + -DHAVE_SYSCONF + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-aws-checksums PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-checksums/include +) +target_link_libraries(restricted-aws-aws-checksums PUBLIC + restricted-aws-aws-c-common +) +target_sources(restricted-aws-aws-checksums PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-checksums/source/crc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-checksums/source/crc_sw.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/aws-checksums/source/intel/asm/crc32c_sse42_asm.c +) diff --git a/contrib/restricted/aws/s2n/CMakeLists.txt b/contrib/restricted/aws/s2n/CMakeLists.txt index 7243bc137a9..a692f90f36e 100644 --- a/contrib/restricted/aws/s2n/CMakeLists.txt +++ b/contrib/restricted/aws/s2n/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/restricted/aws/s2n/CMakeLists.windows-x86_64.txt b/contrib/restricted/aws/s2n/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..46028244d07 --- /dev/null +++ b/contrib/restricted/aws/s2n/CMakeLists.windows-x86_64.txt @@ -0,0 +1,278 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +find_package(OpenSSL REQUIRED) + +add_library(restricted-aws-s2n) +target_compile_options(restricted-aws-s2n PRIVATE + -DS2N_CLONE_SUPPORTED + -DS2N_FALL_THROUGH_SUPPORTED + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD5_SHA1_HASH + -DS2N_LIBCRYPTO_SUPPORTS_EVP_MD_CTX_SET_PKEY_CTX + -DS2N_LIBCRYPTO_SUPPORTS_EVP_RC4 + -DS2N_MADVISE_SUPPORTED + -DS2N___RESTRICT__SUPPORTED + -DS2N_STACKTRACE + -DS2N_CPUID_AVAILABLE + -DS2N_KYBER512R3_AVX2_BMI2 + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(restricted-aws-s2n PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/api +) +target_link_libraries(restricted-aws-s2n PUBLIC + OpenSSL::OpenSSL +) +target_sources(restricted-aws-s2n PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_basemul_avx2.S + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_fq_avx2.S + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_invntt_avx2.S + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_ntt_avx2.S + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_shuffle_avx2.S + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_aead_cipher_aes_gcm.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_aead_cipher_chacha20_poly1305.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_cbc_cipher_3des.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_cbc_cipher_aes.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_certificate.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_cipher.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_composite_cipher_aes_sha.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_crypto.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_dhe.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_drbg.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_ecc_evp.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_ecdsa.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_evp.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_evp_signing.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_fips.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_hash.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_hkdf.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_hmac.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_libcrypto.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_locking.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_openssl_x509.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_pkey.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_rsa.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_rsa_pss.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_rsa_signing.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_sequence.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_stream_cipher_null.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_stream_cipher_rc4.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/crypto/s2n_tls13_keys.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/error/s2n_errno.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_cbd.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_fips202.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_indcpa.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_kem.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_ntt.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_poly.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_polyvec.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_reduce.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_symmetric-shake.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/s2n_kyber_512_evp.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/s2n_pq.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/s2n_pq_random.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer_base64.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer_file.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer_network_order.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer_pem.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/stuffer/s2n_stuffer_text.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_cert_status.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_cert_status_response.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_alpn.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_cert_status_request.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_cookie.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_early_data_indication.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_ems.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_key_share.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_max_frag_len.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_pq_kem.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_psk.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_renegotiation_info.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_sct_list.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_server_name.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_session_ticket.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_signature_algorithms.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_supported_groups.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_client_supported_versions.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_ec_point_format.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_extension_list.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_extension_type.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_extension_type_lists.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_key_share.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_npn.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_nst_early_data_indication.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_psk_key_exchange_modes.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_quic_transport_params.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_alpn.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_cert_status_request.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_cookie.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_early_data_indication.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_ems.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_key_share.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_max_fragment_length.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_psk.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_renegotiation_info.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_sct_list.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_server_name.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_session_ticket.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_signature_algorithms.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_server_supported_versions.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/extensions/s2n_supported_versions.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_aead.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_alerts.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_async_pkey.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_auth_selection.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_cbc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_change_cipher_spec.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_cipher_preferences.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_cipher_suites.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_cert.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_cert_verify.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_finished.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_hello.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_hello_request.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_client_key_exchange.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_config.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_connection.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_crl.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_crypto.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_early_data.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_early_data_io.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_ecc_preferences.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_encrypted_extensions.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_establish_session.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_fingerprint.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_handshake.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_handshake_hashes.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_handshake_io.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_handshake_transcript.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_handshake_type.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_kem.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_kem_preferences.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_kex.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_key_log.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_key_update.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_next_protocol.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_ocsp_stapling.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_post_handshake.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_prf.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_protocol_preferences.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_psk.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_quic_support.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_read.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_read_aead.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_read_cbc.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_read_composite.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_read_stream.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_record_write.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_recv.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_renegotiate.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_resume.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_security_policies.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_send.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_cert.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_cert_request.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_done.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_extensions.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_finished.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_hello.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_hello_retry.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_key_exchange.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_server_new_session_ticket.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_shutdown.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_signature_algorithms.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_signature_scheme.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls13.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls13_certificate_verify.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls13_handshake.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls13_key_schedule.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_tls13_secrets.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/tls/s2n_x509_validator.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_array.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_asn1_time.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_blob.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_ensure.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_fork_detection.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_init.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_map.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_mem.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_random.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_result.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_rfc5952.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_safety.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_set.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_socket.c + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/utils/s2n_timer.c +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/KeccakP-1600-times4-SIMD256_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_cbd_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_consts_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_fips202x4_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_indcpa_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_poly_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_polyvec_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) +target_sources_custom(restricted-aws-s2n + .avx2 + SRCS + ${CMAKE_SOURCE_DIR}/contrib/restricted/aws/s2n/pq-crypto/kyber_r3/kyber512r3_rejsample_avx2.c + CUSTOM_FLAGS + /arch:AVX2 + /DAVX2_ENABLED=1 +) diff --git a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp index 58b896ecf2f..111e7250901 100644 --- a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp +++ b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp @@ -422,7 +422,7 @@ NThreading::TFuture<TTableMetadataResult> TKqpTableMetadataLoader::LoadTableMeta if (entry.Status == EStatus::Ok && expectedSchemaVersion && entry.TableId.SchemaVersion) { if (entry.TableId.SchemaVersion != expectedSchemaVersion) { const auto message = TStringBuilder() - << "schema version missmatch during metadata loading for: " + << "schema version mismatch during metadata loading for: " << CombinePath(entry.Path.begin(), entry.Path.end()) << " expected " << expectedSchemaVersion << " got " << entry.TableId.SchemaVersion; diff --git a/ydb/core/kqp/host/kqp_host.cpp b/ydb/core/kqp/host/kqp_host.cpp index 501ce9f6356..24cd0f8ce99 100644 --- a/ydb/core/kqp/host/kqp_host.cpp +++ b/ydb/core/kqp/host/kqp_host.cpp @@ -22,6 +22,8 @@ #include <library/cpp/random_provider/random_provider.h> #include <library/cpp/time_provider/time_provider.h> +#include <util/system/env.h> + namespace NKikimr { namespace NKqp { @@ -681,7 +683,7 @@ public: case EKikimrQueryType::Scan: return KqpRunner->PrepareScanQuery(cluster, query, ctx, settings); case EKikimrQueryType::Query: - case EKikimrQueryType::FederatedQuery: + case EKikimrQueryType::Script: return KqpRunner->PrepareQuery(cluster, query, ctx, settings); case EKikimrQueryType::YqlScript: case EKikimrQueryType::YqlScriptStreaming: @@ -968,7 +970,7 @@ public: IAsyncQueryResultPtr PrepareFederatedQuery(const TString& query, const TPrepareSettings& settings) override { return CheckedProcessQuery(*ExprCtx, [this, &query, settings] (TExprContext& ctx) mutable { - return PrepareQueryInternal(query, EKikimrQueryType::FederatedQuery, settings, ctx); + return PrepareQueryInternal(query, EKikimrQueryType::Script, settings, ctx); }); } @@ -1049,6 +1051,18 @@ private: if (isSql) { NSQLTranslation::TTranslationSettings settings; + // TODO: remove this test crutch when dynamic bindings discovery will be implemented // YQ-1964 + if (SessionCtx->Query().Type == EKikimrQueryType::Script && GetEnv("TEST_S3_CONNECTION")) { + NSQLTranslation::TTableBindingSettings binding; + binding.ClusterType = "s3"; + binding.Settings["cluster"] = GetEnv("TEST_S3_CONNECTION"); + binding.Settings["path"] = GetEnv("TEST_S3_OBJECT"); + binding.Settings["format"] = GetEnv("TEST_S3_FORMAT"); + binding.Settings["schema"] = GetEnv("TEST_S3_SCHEMA"); + + settings.PrivateBindings[GetEnv("TEST_S3_BINDING")] = binding; + } + if (sqlVersion) { settings.SyntaxVersion = *sqlVersion; @@ -1429,7 +1443,15 @@ private: state->FunctionRegistry = FuncRegistry; state->CredentialsFactory = nullptr; // TODO - state->Configuration->Init(NYql::TS3GatewayConfig(), TypesCtx); + // TODO: remove this test crutch after dynamic connections resolving implementation // YQ-1964 + NYql::TS3GatewayConfig cfg; + if (GetEnv("TEST_S3_CONNECTION")) { + auto* mapping = cfg.AddClusterMapping(); + mapping->SetName(GetEnv("TEST_S3_CONNECTION")); + mapping->SetUrl(TStringBuilder() << GetEnv("S3_ENDPOINT") << "/" << GetEnv("TEST_S3_BUCKET") << "/"); + } + + state->Configuration->Init(cfg, TypesCtx); auto dataSource = NYql::CreateS3DataSource(state, HttpGateway); auto dataSink = NYql::CreateS3DataSink(state, HttpGateway); @@ -1439,7 +1461,7 @@ private: } void Init(EKikimrQueryType queryType) { - if (queryType == EKikimrQueryType::FederatedQuery) { + if (queryType == EKikimrQueryType::Script) { InitS3Provider(); } @@ -1522,6 +1544,9 @@ private: } void SetupSession(EKikimrQueryType queryType) { + SessionCtx->Reset(KeepConfigChanges); + SessionCtx->Query().Type = queryType; + Init(queryType); ExprCtx->Reset(); @@ -1532,10 +1557,6 @@ private: std::get<0>(TypesCtx->CachedRandom).reset(); std::get<1>(TypesCtx->CachedRandom).reset(); std::get<2>(TypesCtx->CachedRandom).reset(); - - SessionCtx->Reset(KeepConfigChanges); - - SessionCtx->Query().Type = queryType; } void SetupYqlTransformer(EKikimrQueryType queryType) { diff --git a/ydb/core/kqp/host/kqp_runner.cpp b/ydb/core/kqp/host/kqp_runner.cpp index ecc6307d29d..6483d705600 100644 --- a/ydb/core/kqp/host/kqp_runner.cpp +++ b/ydb/core/kqp/host/kqp_runner.cpp @@ -15,6 +15,8 @@ #include <ydb/library/yql/utils/log/log.h> #include <ydb/library/yql/core/services/yql_transform_pipeline.h> +#include <util/generic/is_in.h> + namespace NKikimr { namespace NKqp { @@ -177,7 +179,7 @@ public: TIntrusivePtr<TAsyncQueryResult> PrepareQuery(const TString& cluster, const TExprNode::TPtr& query, TExprContext& ctx, const IKikimrQueryExecutor::TExecuteSettings& settings) override { - YQL_ENSURE(TransformCtx->QueryCtx->Type == EKikimrQueryType::Query || TransformCtx->QueryCtx->Type == EKikimrQueryType::FederatedQuery); + YQL_ENSURE(IsIn({EKikimrQueryType::Query, EKikimrQueryType::Script}, TransformCtx->QueryCtx->Type)); YQL_ENSURE(TransformCtx->QueryCtx->PrepareOnly); YQL_ENSURE(TransformCtx->QueryCtx->PreparingQuery); YQL_ENSURE(TMaybeNode<TKiDataQueryBlocks>(query)); @@ -243,13 +245,13 @@ private: case EKikimrQueryType::Dml: case EKikimrQueryType::Scan: case EKikimrQueryType::Query: - case EKikimrQueryType::FederatedQuery: + case EKikimrQueryType::Script: break; default: YQL_ENSURE(false, "PrepareQueryNewEngine, unexpected query type: " << queryType); } - auto kqlQueryBlocks = BuildKqlQuery(dataQueryBlocks, *TransformCtx->Tables, ctx, sysColumnsEnabled, OptimizeCtx); + auto kqlQueryBlocks = BuildKqlQuery(dataQueryBlocks, *TransformCtx->Tables, ctx, sysColumnsEnabled, OptimizeCtx, TypesCtx); if (!kqlQueryBlocks) { return MakeKikimrResultHolder(ResultFromErrors<IKqpHost::TQueryResult>(ctx.IssueManager.GetIssues())); } @@ -310,7 +312,7 @@ private: auto& preparedQuery = *TransformCtx->QueryCtx->PreparingQuery; TKqpPhysicalQuery physicalQuery(transformedQuery); - auto compiler = CreateKqpQueryCompiler(Cluster, OptimizeCtx->Tables, FuncRegistry); + auto compiler = CreateKqpQueryCompiler(Cluster, OptimizeCtx->Tables, FuncRegistry, TypesCtx); auto ret = compiler->CompilePhysicalQuery(physicalQuery, dataQueryBlocks, *preparedQuery.MutablePhysicalQuery(), ctx); if (!ret) { ctx.AddError(TIssue(ctx.GetPosition(query->Pos()), "Failed to compile physical query.")); diff --git a/ydb/core/kqp/opt/kqp_opt.h b/ydb/core/kqp/opt/kqp_opt.h index 6fc5068426e..481f5e4dc61 100644 --- a/ydb/core/kqp/opt/kqp_opt.h +++ b/ydb/core/kqp/opt/kqp_opt.h @@ -50,7 +50,7 @@ bool IsKqpEffectsStage(const NYql::NNodes::TDqStageBase& stage); TMaybe<NYql::NNodes::TKqlQueryList> BuildKqlQuery(NYql::NNodes::TKiDataQueryBlocks queryBlocks, const NYql::TKikimrTablesData& tablesData, NYql::TExprContext& ctx, bool withSystemColumns, - const TIntrusivePtr<TKqpOptimizeContext>& kqpCtx); + const TIntrusivePtr<TKqpOptimizeContext>& kqpCtx, NYql::TTypeAnnotationContext& typesCtx); TAutoPtr<NYql::IGraphTransformer> CreateKqpFinalizingOptTransformer(const TIntrusivePtr<TKqpOptimizeContext>& kqpCtx); TAutoPtr<NYql::IGraphTransformer> CreateKqpQueryPhasesTransformer(); diff --git a/ydb/core/kqp/opt/kqp_opt_build_phy_query.cpp b/ydb/core/kqp/opt/kqp_opt_build_phy_query.cpp index 122f37196bd..bb64d15129f 100644 --- a/ydb/core/kqp/opt/kqp_opt_build_phy_query.cpp +++ b/ydb/core/kqp/opt/kqp_opt_build_phy_query.cpp @@ -37,7 +37,7 @@ public: querySettings.Type = EPhysicalQueryType::Query; break; } - case EKikimrQueryType::FederatedQuery: { + case EKikimrQueryType::Script: { querySettings.Type = EPhysicalQueryType::FederatedQuery; break; } diff --git a/ydb/core/kqp/opt/kqp_opt_build_txs.cpp b/ydb/core/kqp/opt/kqp_opt_build_txs.cpp index cbacd00d143..77c856e7bf7 100644 --- a/ydb/core/kqp/opt/kqp_opt_build_txs.cpp +++ b/ydb/core/kqp/opt/kqp_opt_build_txs.cpp @@ -70,7 +70,7 @@ private: return EPhysicalTxType::Scan; } - if (QueryType == EKikimrQueryType::Query || QueryType == EKikimrQueryType::FederatedQuery) { + if (QueryType == EKikimrQueryType::Query || QueryType == EKikimrQueryType::Script) { if (IsPrecompute && allStagesArePure) { return EPhysicalTxType::Compute; } diff --git a/ydb/core/kqp/opt/kqp_opt_kql.cpp b/ydb/core/kqp/opt/kqp_opt_kql.cpp index 1e03a8de445..07247b929b9 100644 --- a/ydb/core/kqp/opt/kqp_opt_kql.cpp +++ b/ydb/core/kqp/opt/kqp_opt_kql.cpp @@ -3,6 +3,8 @@ #include <ydb/core/kqp/provider/yql_kikimr_provider_impl.h> #include <ydb/library/yql/core/yql_opt_utils.h> +#include <ydb/library/yql/providers/dq/common/yql_dq_settings.h> +#include <ydb/library/yql/dq/integration/yql_dq_integration.h> namespace NKikimr::NKqp::NOpt { @@ -699,7 +701,7 @@ TIntrusivePtr<TKikimrTableMetadata> GetIndexMetadata(const TKqlReadTableIndex& r } TMaybe<TKqlQueryList> BuildKqlQuery(TKiDataQueryBlocks dataQueryBlocks, const TKikimrTablesData& tablesData, - TExprContext& ctx, bool withSystemColumns, const TIntrusivePtr<TKqpOptimizeContext>& kqpCtx) + TExprContext& ctx, bool withSystemColumns, const TIntrusivePtr<TKqpOptimizeContext>& kqpCtx, NYql::TTypeAnnotationContext& typesCtx) { TVector<TKqlQuery> queryBlocks; queryBlocks.reserve(dataQueryBlocks.ArgCount()); @@ -748,12 +750,25 @@ TMaybe<TKqlQueryList> BuildKqlQuery(TKiDataQueryBlocks dataQueryBlocks, const TK TOptimizeExprSettings optSettings(nullptr); optSettings.VisitChanges = true; auto status = OptimizeExpr(queryBlock.Ptr(), optResult, - [&tablesData, withSystemColumns, &kqpCtx](const TExprNode::TPtr& input, TExprContext &ctx) { + [&tablesData, withSystemColumns, &kqpCtx, &typesCtx](const TExprNode::TPtr& input, TExprContext &ctx) { auto node = TExprBase(input); TExprNode::TPtr effect; - if (auto maybeRead = node.Maybe<TCoRight>().Input().Maybe<TKiReadTable>()) { - return HandleReadTable(maybeRead.Cast(), ctx, tablesData, withSystemColumns, kqpCtx); + if (auto input = node.Maybe<TCoRight>().Input()) { + if (auto maybeRead = input.Maybe<TKiReadTable>()) { + return HandleReadTable(maybeRead.Cast(), ctx, tablesData, withSystemColumns, kqpCtx); + } + if (input.Raw()->ChildrenSize() > 1 && TCoDataSource::Match(input.Raw()->Child(1))) { + auto dataSourceName = input.Raw()->Child(1)->Child(0)->Content(); + auto dataSource = typesCtx.DataSourceMap.FindPtr(dataSourceName); + YQL_ENSURE(dataSource); + if (auto dqIntegration = (*dataSource)->GetDqIntegration()) { + auto newRead = dqIntegration->WrapRead(NYql::TDqSettings(), input.Cast().Ptr(), ctx); + if (newRead.Get() != input.Raw()) { + return newRead; + } + } + } } return input; diff --git a/ydb/core/kqp/opt/logical/kqp_opt_log.cpp b/ydb/core/kqp/opt/logical/kqp_opt_log.cpp index 2bbbae1e8cf..22af8b64c05 100644 --- a/ydb/core/kqp/opt/logical/kqp_opt_log.cpp +++ b/ydb/core/kqp/opt/logical/kqp_opt_log.cpp @@ -7,6 +7,7 @@ #include <ydb/library/yql/core/yql_opt_utils.h> #include <ydb/library/yql/dq/opt/dq_opt_log.h> #include <ydb/library/yql/providers/common/transform/yql_optimize.h> +#include <ydb/library/yql/providers/dq/common/yql_dq_settings.h> namespace NKikimr::NKqp::NOpt { diff --git a/ydb/core/kqp/opt/physical/kqp_opt_phy.cpp b/ydb/core/kqp/opt/physical/kqp_opt_phy.cpp index c559b0eba2d..1429e140d87 100644 --- a/ydb/core/kqp/opt/physical/kqp_opt_phy.cpp +++ b/ydb/core/kqp/opt/physical/kqp_opt_phy.cpp @@ -11,6 +11,7 @@ #include <ydb/library/yql/dq/opt/dq_opt_phy.h> #include <ydb/library/yql/dq/opt/dq_opt_join.h> #include <ydb/library/yql/providers/common/transform/yql_optimize.h> +#include <ydb/library/yql/providers/dq/expr_nodes/dqs_expr_nodes.h> namespace NKikimr::NKqp::NOpt { @@ -28,6 +29,7 @@ public: , KqpCtx(*kqpCtx) { #define HNDL(name) "KqpPhysical-"#name, Hndl(&TKqpPhysicalOptTransformer::name) + AddHandler(0, &TDqSourceWrap::Match, HNDL(BuildStageWithSourceWrap)); AddHandler(0, &TKqlReadTable::Match, HNDL(BuildReadTableStage)); AddHandler(0, &TKqlReadTableRanges::Match, HNDL(BuildReadTableRangesStage)); AddHandler(0, &TKqlLookupTable::Match, HNDL(BuildLookupTableStage)); @@ -199,7 +201,7 @@ protected: DumpAppliedRule("BuildHashShuffleByKeyStage", node.Ptr(), output.Ptr(), ctx); return TExprBase(output); } - + TMaybeNode<TExprBase> ExpandAggregatePhase(TExprBase node, TExprContext& ctx) { auto output = ExpandAggregatePeepholeImpl(node.Ptr(), ctx, TypesCtx, KqpCtx.Config->HasOptUseFinalizeByKey(), false); @@ -495,6 +497,12 @@ protected: return output; } + TMaybeNode<TExprBase> BuildStageWithSourceWrap(TExprBase node, TExprContext& ctx) { + TExprBase output = DqBuildStageWithSourceWrap(node, ctx); + DumpAppliedRule("BuildStageWithSourceWrap", node.Ptr(), output.Ptr(), ctx); + return output; + } + private: TTypeAnnotationContext& TypesCtx; const TKqpOptimizeContext& KqpCtx; diff --git a/ydb/core/kqp/provider/CMakeLists.darwin-x86_64.txt b/ydb/core/kqp/provider/CMakeLists.darwin-x86_64.txt index 5035823f904..578aa7d13ce 100644 --- a/ydb/core/kqp/provider/CMakeLists.darwin-x86_64.txt +++ b/ydb/core/kqp/provider/CMakeLists.darwin-x86_64.txt @@ -41,6 +41,7 @@ target_link_libraries(core-kqp-provider PUBLIC providers-common-proto providers-common-provider common-schema-expr + providers-dq-expr_nodes providers-result-expr_nodes providers-result-provider tools-enum_parser-enum_serialization_runtime diff --git a/ydb/core/kqp/provider/CMakeLists.linux-aarch64.txt b/ydb/core/kqp/provider/CMakeLists.linux-aarch64.txt index 6efae41378f..6e2d17eddc4 100644 --- a/ydb/core/kqp/provider/CMakeLists.linux-aarch64.txt +++ b/ydb/core/kqp/provider/CMakeLists.linux-aarch64.txt @@ -42,6 +42,7 @@ target_link_libraries(core-kqp-provider PUBLIC providers-common-proto providers-common-provider common-schema-expr + providers-dq-expr_nodes providers-result-expr_nodes providers-result-provider tools-enum_parser-enum_serialization_runtime diff --git a/ydb/core/kqp/provider/CMakeLists.linux-x86_64.txt b/ydb/core/kqp/provider/CMakeLists.linux-x86_64.txt index 6efae41378f..6e2d17eddc4 100644 --- a/ydb/core/kqp/provider/CMakeLists.linux-x86_64.txt +++ b/ydb/core/kqp/provider/CMakeLists.linux-x86_64.txt @@ -42,6 +42,7 @@ target_link_libraries(core-kqp-provider PUBLIC providers-common-proto providers-common-provider common-schema-expr + providers-dq-expr_nodes providers-result-expr_nodes providers-result-provider tools-enum_parser-enum_serialization_runtime diff --git a/ydb/core/kqp/provider/CMakeLists.windows-x86_64.txt b/ydb/core/kqp/provider/CMakeLists.windows-x86_64.txt index 5035823f904..578aa7d13ce 100644 --- a/ydb/core/kqp/provider/CMakeLists.windows-x86_64.txt +++ b/ydb/core/kqp/provider/CMakeLists.windows-x86_64.txt @@ -41,6 +41,7 @@ target_link_libraries(core-kqp-provider PUBLIC providers-common-proto providers-common-provider common-schema-expr + providers-dq-expr_nodes providers-result-expr_nodes providers-result-provider tools-enum_parser-enum_serialization_runtime diff --git a/ydb/core/kqp/provider/ya.make b/ydb/core/kqp/provider/ya.make index 76afad6b715..515d1934be1 100644 --- a/ydb/core/kqp/provider/ya.make +++ b/ydb/core/kqp/provider/ya.make @@ -40,6 +40,7 @@ PEERDIR( ydb/library/yql/providers/common/proto ydb/library/yql/providers/common/provider ydb/library/yql/providers/common/schema/expr + ydb/library/yql/providers/dq/expr_nodes ydb/library/yql/providers/result/expr_nodes ydb/library/yql/providers/result/provider ) diff --git a/ydb/core/kqp/provider/yql_kikimr_datasource.cpp b/ydb/core/kqp/provider/yql_kikimr_datasource.cpp index 7aa803b7e48..f4b88ee1249 100644 --- a/ydb/core/kqp/provider/yql_kikimr_datasource.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_datasource.cpp @@ -5,6 +5,9 @@ #include <ydb/library/yql/core/yql_expr_optimize.h> #include <ydb/library/yql/core/yql_expr_type_annotation.h> +#include <ydb/library/yql/providers/dq/expr_nodes/dqs_expr_nodes.h> + +#include <util/generic/is_in.h> namespace NYql { namespace { @@ -404,6 +407,22 @@ public: return TKiDataSource(node.ChildPtr(1)).Category() == KikimrProviderName; } + if ( + IsIn({EKikimrQueryType::Query, EKikimrQueryType::Script}, SessionCtx->Query().Type) + && + ( + node.IsCallable(TDqSourceWrap::CallableName()) || + node.IsCallable(TDqSourceWideWrap::CallableName()) || + node.IsCallable(TDqSourceWideBlockWrap::CallableName()) || + node.IsCallable(TDqReadWrap::CallableName()) || + node.IsCallable(TDqReadWideWrap::CallableName()) || + node.IsCallable(TDqSource::CallableName()) + ) + ) + { + return true; + } + YQL_ENSURE(!KikimrDataSourceFunctions().contains(node.Content())); return false; } diff --git a/ydb/core/kqp/provider/yql_kikimr_opt.cpp b/ydb/core/kqp/provider/yql_kikimr_opt.cpp index f645e6a1a70..47616fcb3c5 100644 --- a/ydb/core/kqp/provider/yql_kikimr_opt.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_opt.cpp @@ -43,14 +43,12 @@ TExprNode::TPtr KiEmptyCommit(TExprBase node) { TAutoPtr<IGraphTransformer> CreateKiLogicalOptProposalTransformer(TIntrusivePtr<TKikimrSessionContext> sessionCtx, TTypeAnnotationContext& types) { - Y_UNUSED(types); - - return CreateFunctorTransformer([sessionCtx](const TExprNode::TPtr& input, TExprNode::TPtr& output, + return CreateFunctorTransformer([sessionCtx, &types](const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) { using TStatus = IGraphTransformer::TStatus; - TStatus status = OptimizeExpr(input, output, [sessionCtx](const TExprNode::TPtr& inputNode, TExprContext& ctx) { + TStatus status = OptimizeExpr(input, output, [sessionCtx, &types](const TExprNode::TPtr& inputNode, TExprContext& ctx) { auto ret = inputNode; TExprBase node(inputNode); @@ -62,7 +60,7 @@ TAutoPtr<IGraphTransformer> CreateKiLogicalOptProposalTransformer(TIntrusivePtr< if (auto maybeDatasink = node.Maybe<TCoCommit>().DataSink().Maybe<TKiDataSink>()) { auto cluster = TString(maybeDatasink.Cast().Cluster()); - ret = KiBuildQuery(node, ctx, sessionCtx->TablesPtr()); + ret = KiBuildQuery(node, ctx, sessionCtx->TablesPtr(), types); if (ret != inputNode) { return ret; diff --git a/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp b/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp index bef11b58d6d..387edee26f2 100644 --- a/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp @@ -4,6 +4,8 @@ #include <ydb/library/yql/core/yql_opt_utils.h> #include <ydb/library/yql/utils/log/log.h> #include <ydb/library/yql/providers/result/expr_nodes/yql_res_expr_nodes.h> +#include <ydb/library/yql/dq/integration/yql_dq_integration.h> +#include <ydb/library/yql/providers/dq/common/yql_dq_settings.h> namespace NYql { namespace { @@ -272,7 +274,7 @@ struct TKiExploreTxResults { }; bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, TKiExploreTxResults& txRes, - TIntrusivePtr<TKikimrTablesData> tablesData) { + TIntrusivePtr<TKikimrTablesData> tablesData, TTypeAnnotationContext& types) { if (txRes.Ops.cend() != txRes.Ops.find(node.Raw())) { return true; @@ -285,7 +287,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T if (auto maybeLeft = node.Maybe<TCoLeft>()) { txRes.Ops.insert(node.Raw()); - return ExploreTx(maybeLeft.Cast().Input(), ctx, dataSink, txRes, tablesData); + return ExploreTx(maybeLeft.Cast().Input(), ctx, dataSink, txRes, tablesData, types); } auto checkDataSource = [dataSink] (const TKiDataSource& ds) { @@ -309,7 +311,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T YQL_ENSURE(key.GetKeyType() == TKikimrKey::Type::Table); auto table = key.GetTablePath(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(maybeRead.Cast().World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(maybeRead.Cast().World(), ctx, dataSink, txRes, tablesData, types); YQL_ENSURE(tablesData); const auto& tableData = tablesData->ExistingTable(cluster, table); @@ -320,6 +322,18 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T return result; } + for (const auto& dataSource : types.DataSources) { + if (auto* dqIntegration = dataSource->GetDqIntegration(); dqIntegration && dqIntegration->CanRead(TDqSettings::TDefault::DataSizePerJob, TDqSettings::TDefault::MaxTasksPerStage, *node.Ptr(), ctx)) { + txRes.Ops.insert(node.Raw()); + for (size_t i = 0, childrenSize = node.Raw()->ChildrenSize(); i < childrenSize; ++i) { + TExprNode* child = node.Raw()->Child(i); + if (child && child->IsWorld()) { + return ExploreTx(TExprBase(child), ctx, dataSink, txRes, tablesData, types); + } + } + } + } + if (auto maybeWrite = node.Maybe<TKiWriteTable>()) { auto write = maybeWrite.Cast(); if (!checkDataSink(write.DataSink())) { @@ -328,7 +342,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = write.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(write.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(write.World(), ctx, dataSink, txRes, tablesData, types); auto tableOp = GetTableOp(write); YQL_ENSURE(tablesData); @@ -360,7 +374,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = update.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(update.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(update.World(), ctx, dataSink, txRes, tablesData, types); const auto tableOp = TYdbOperation::Update; YQL_ENSURE(tablesData); @@ -385,7 +399,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = del.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(del.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(del.World(), ctx, dataSink, txRes, tablesData, types); const auto tableOp = TYdbOperation::Delete; YQL_ENSURE(tablesData); @@ -404,7 +418,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = create.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(create.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(create.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildTableOpNode(cluster, table, TYdbOperation::CreateTable, create.Pos(), ctx)); return result; } @@ -417,7 +431,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = drop.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(drop.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(drop.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildTableOpNode(cluster, table, TYdbOperation::DropTable, drop.Pos(), ctx)); return result; } @@ -430,7 +444,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T auto table = alter.Table().Value(); txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(alter.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(alter.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildTableOpNode(cluster, table, TYdbOperation::AlterTable, alter.Pos(), ctx)); return result; } @@ -442,7 +456,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(createUser.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(createUser.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::CreateUser, createUser.Pos(), ctx)); return result; } @@ -454,7 +468,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(alterUser.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(alterUser.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::AlterUser, alterUser.Pos(), ctx)); return result; } @@ -466,7 +480,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(dropUser.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(dropUser.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::DropUser, dropUser.Pos(), ctx)); return result; } @@ -478,7 +492,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(createGroup.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(createGroup.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::CreateGroup, createGroup.Pos(), ctx)); return result; } @@ -490,7 +504,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(alterGroup.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(alterGroup.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::AlterGroup, alterGroup.Pos(), ctx)); return result; } @@ -502,7 +516,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T } txRes.Ops.insert(node.Raw()); - auto result = ExploreTx(dropGroup.World(), ctx, dataSink, txRes, tablesData); + auto result = ExploreTx(dropGroup.World(), ctx, dataSink, txRes, tablesData, types); txRes.AddTableOperation(BuildYdbOpNode(cluster, TYdbOperation::DropGroup, dropGroup.Pos(), ctx)); return result; } @@ -525,13 +539,13 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T return true; } - return ExploreTx(commit.World(), ctx, dataSink, txRes, tablesData); + return ExploreTx(commit.World(), ctx, dataSink, txRes, tablesData, types); } if (auto maybeSync = node.Maybe<TCoSync>()) { txRes.Ops.insert(node.Raw()); for (auto child : maybeSync.Cast()) { - if (!ExploreTx(child, ctx, dataSink, txRes, tablesData)) { + if (!ExploreTx(child, ctx, dataSink, txRes, tablesData, types)) { return false; } @@ -543,7 +557,7 @@ bool ExploreTx(TExprBase node, TExprContext& ctx, const TKiDataSink& dataSink, T node.Maybe<TResPull>()) { txRes.Ops.insert(node.Raw()); - bool result = ExploreTx(TExprBase(node.Ref().ChildPtr(0)), ctx, dataSink, txRes, tablesData); + bool result = ExploreTx(TExprBase(node.Ref().ChildPtr(0)), ctx, dataSink, txRes, tablesData, types); txRes.AddResult(node); return result; } @@ -694,7 +708,7 @@ TVector<TKiDataQueryBlock> MakeKiDataQueryBlocks(TExprBase node, const TKiExplor } // namespace -TExprNode::TPtr KiBuildQuery(TExprBase node, TExprContext& ctx, TIntrusivePtr<TKikimrTablesData> tablesData) { +TExprNode::TPtr KiBuildQuery(TExprBase node, TExprContext& ctx, TIntrusivePtr<TKikimrTablesData> tablesData, TTypeAnnotationContext& types) { if (!node.Maybe<TCoCommit>().DataSink().Maybe<TKiDataSink>()) { return node.Ptr(); } @@ -704,7 +718,7 @@ TExprNode::TPtr KiBuildQuery(TExprBase node, TExprContext& ctx, TIntrusivePtr<TK auto kiDataSink = commit.DataSink().Cast<TKiDataSink>(); TKiExploreTxResults txExplore; - if (!ExploreTx(commit.World(), ctx, kiDataSink, txExplore, tablesData)) { + if (!ExploreTx(commit.World(), ctx, kiDataSink, txExplore, tablesData, types)) { return node.Ptr(); } diff --git a/ydb/core/kqp/provider/yql_kikimr_provider.h b/ydb/core/kqp/provider/yql_kikimr_provider.h index 18555063d18..3024b13c812 100644 --- a/ydb/core/kqp/provider/yql_kikimr_provider.h +++ b/ydb/core/kqp/provider/yql_kikimr_provider.h @@ -11,8 +11,9 @@ #include <library/cpp/actors/core/actor.h> #include <library/cpp/cache/cache.h> -#include <util/generic/strbuf.h> #include <util/generic/flags.h> +#include <util/generic/is_in.h> +#include <util/generic/strbuf.h> namespace NYql { @@ -66,8 +67,8 @@ enum class EKikimrQueryType { YqlInternal, Scan, YqlScriptStreaming, - Query, - FederatedQuery, + Query, // ExecuteQuery + Script, // ExecuteScript }; struct TKikimrQueryContext : TThrRefBase { @@ -309,7 +310,7 @@ public: return false; } - if ((queryType == EKikimrQueryType::Query || queryType == EKikimrQueryType::FederatedQuery) && (newOp & KikimrSchemeOps())) { + if (IsIn({EKikimrQueryType::Query, EKikimrQueryType::Script}, queryType) && (newOp & KikimrSchemeOps())) { TString message = TStringBuilder() << "Operation '" << newOp << "' can't be performed in query"; ctx.AddError(YqlIssue(pos, TIssuesIds::KIKIMR_BAD_OPERATION, message)); diff --git a/ydb/core/kqp/provider/yql_kikimr_provider_impl.h b/ydb/core/kqp/provider/yql_kikimr_provider_impl.h index 7e7ce108cc7..c4fc0b67b36 100644 --- a/ydb/core/kqp/provider/yql_kikimr_provider_impl.h +++ b/ydb/core/kqp/provider/yql_kikimr_provider_impl.h @@ -13,7 +13,7 @@ namespace NYql { class TKiSourceVisitorTransformer: public TSyncTransformerBase { public: - TStatus DoTransform(TExprNode::TPtr input, TExprNode::TPtr& output, TExprContext& ctx) final; + TStatus DoTransform(TExprNode::TPtr input, TExprNode::TPtr& output, TExprContext& ctx) override; void Rewind() override { } @@ -174,7 +174,7 @@ void TableDescriptionToTableInfo(const TKikimrTableDescription& desc, TYdbOperat TVector<NKqpProto::TKqpTableInfo>& infos); // Optimizer rules -TExprNode::TPtr KiBuildQuery(NNodes::TExprBase node, TExprContext& ctx, TIntrusivePtr<TKikimrTablesData> tablesData); +TExprNode::TPtr KiBuildQuery(NNodes::TExprBase node, TExprContext& ctx, TIntrusivePtr<TKikimrTablesData> tablesData, TTypeAnnotationContext& types); TExprNode::TPtr KiBuildResult(NNodes::TExprBase node, const TString& cluster, TExprContext& ctx); const THashSet<TStringBuf>& KikimrDataSourceFunctions(); diff --git a/ydb/core/kqp/provider/yql_kikimr_type_ann.cpp b/ydb/core/kqp/provider/yql_kikimr_type_ann.cpp index 46f5a3b0ef4..1b9a5a1fac4 100644 --- a/ydb/core/kqp/provider/yql_kikimr_type_ann.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_type_ann.cpp @@ -7,6 +7,9 @@ #include <ydb/library/yql/core/yql_opt_utils.h> #include <ydb/library/yql/parser/pg_wrapper/interface/type_desc.h> #include <ydb/library/yql/providers/common/provider/yql_provider.h> +#include <ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.h> + +#include <util/generic/is_in.h> namespace NYql { namespace { @@ -102,7 +105,19 @@ class TKiSourceTypeAnnotationTransformer : public TKiSourceVisitorTransformer { public: TKiSourceTypeAnnotationTransformer(TIntrusivePtr<TKikimrSessionContext> sessionCtx, TTypeAnnotationContext& types) : SessionCtx(sessionCtx) - , Types(types) {} + , Types(types) + , DqsTypeAnn(IsIn({EKikimrQueryType::Query, EKikimrQueryType::Script}, SessionCtx->Query().Type) ? CreateDqsDataSourceTypeAnnotationTransformer(false) : nullptr) + {} + + TStatus DoTransform(TExprNode::TPtr input, TExprNode::TPtr& output, TExprContext& ctx) override { + if (DqsTypeAnn && DqsTypeAnn->CanParse(*input)) { + TStatus status = DqsTypeAnn->DoTransform(input, output, ctx); + if (input->GetTypeAnn()) { + return status; + } + } + return TKiSourceVisitorTransformer::DoTransform(input, output, ctx); + } private: TStatus HandleKiRead(TKiReadBase node, TExprContext& ctx) override { @@ -216,6 +231,7 @@ private: private: TIntrusivePtr<TKikimrSessionContext> SessionCtx; TTypeAnnotationContext& Types; + THolder<TVisitorTransformerBase> DqsTypeAnn; }; namespace { diff --git a/ydb/core/kqp/query_compiler/kqp_mkql_compiler.cpp b/ydb/core/kqp/query_compiler/kqp_mkql_compiler.cpp index 662c2c0baab..72a77a87a2b 100644 --- a/ydb/core/kqp/query_compiler/kqp_mkql_compiler.cpp +++ b/ydb/core/kqp/query_compiler/kqp_mkql_compiler.cpp @@ -4,6 +4,8 @@ #include <ydb/core/scheme/scheme_tabledefs.h> #include <ydb/library/yql/providers/common/mkql/yql_type_mkql.h> +#include <ydb/library/yql/providers/dq/expr_nodes/dqs_expr_nodes.h> +#include <ydb/library/yql/dq/integration/yql_dq_integration.h> namespace NKikimr { namespace NKqp { @@ -220,9 +222,27 @@ const TKikimrTableMetadata& TKqlCompileContext::GetTableMeta(const TKqpTable& ta return meta; } -TIntrusivePtr<IMkqlCallableCompiler> CreateKqlCompiler(const TKqlCompileContext& ctx) { +TIntrusivePtr<IMkqlCallableCompiler> CreateKqlCompiler(const TKqlCompileContext& ctx, TTypeAnnotationContext& typesCtx) { auto compiler = MakeIntrusive<NCommon::TMkqlCommonCallableCompiler>(); + compiler->AddCallable({TDqSourceWideWrap::CallableName(), TDqSourceWideBlockWrap::CallableName(), TDqReadWideWrap::CallableName()}, + [](const TExprNode& node, NCommon::TMkqlBuildContext&) { + YQL_ENSURE(false, "Unsupported reader: " << node.Head().Content()); + return TRuntimeNode(); + }); + + for (const auto& provider : typesCtx.DataSources) { + if (auto* dqIntegration = provider->GetDqIntegration()) { + dqIntegration->RegisterMkqlCompiler(*compiler); + } + } + + for (const auto& provider : typesCtx.DataSinks) { + if (auto* dqIntegration = provider->GetDqIntegration()) { + dqIntegration->RegisterMkqlCompiler(*compiler); + } + } + compiler->AddCallable(TKqpWideReadTable::CallableName(), [&ctx](const TExprNode& node, TMkqlBuildContext& buildCtx) { TKqpWideReadTable readTable(&node); diff --git a/ydb/core/kqp/query_compiler/kqp_mkql_compiler.h b/ydb/core/kqp/query_compiler/kqp_mkql_compiler.h index 9d89a0188d9..78d31abba38 100644 --- a/ydb/core/kqp/query_compiler/kqp_mkql_compiler.h +++ b/ydb/core/kqp/query_compiler/kqp_mkql_compiler.h @@ -31,7 +31,7 @@ private: THolder<NMiniKQL::TKqpProgramBuilder> PgmBuilder_; }; -TIntrusivePtr<NYql::NCommon::IMkqlCallableCompiler> CreateKqlCompiler(const TKqlCompileContext& ctx); +TIntrusivePtr<NYql::NCommon::IMkqlCallableCompiler> CreateKqlCompiler(const TKqlCompileContext& ctx, NYql::TTypeAnnotationContext& typesCtx); } // namespace NKqp } // namespace NKikimr diff --git a/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp b/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp index 4eb5ff20850..51f4b03298e 100644 --- a/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp +++ b/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp @@ -431,14 +431,14 @@ void FillOlapProgram(const TCoLambda& process, const NKikimr::NMiniKQL::TType* m class TKqpQueryCompiler : public IKqpQueryCompiler { public: TKqpQueryCompiler(const TString& cluster, const TIntrusivePtr<TKikimrTablesData> tablesData, - const NMiniKQL::IFunctionRegistry& funcRegistry) + const NMiniKQL::IFunctionRegistry& funcRegistry, TTypeAnnotationContext& typesCtx) : Cluster(cluster) , TablesData(tablesData) , FuncRegistry(funcRegistry) , Alloc(__LOCATION__, TAlignedPagePoolCounters(), funcRegistry.SupportsSizedAllocators()) , TypeEnv(Alloc) , KqlCtx(cluster, tablesData, TypeEnv, FuncRegistry) - , KqlCompiler(CreateKqlCompiler(KqlCtx)) + , KqlCompiler(CreateKqlCompiler(KqlCtx, typesCtx)) { Alloc.Release(); } @@ -1004,9 +1004,10 @@ private: } // namespace TIntrusivePtr<IKqpQueryCompiler> CreateKqpQueryCompiler(const TString& cluster, - const TIntrusivePtr<TKikimrTablesData> tablesData, const IFunctionRegistry& funcRegistry) + const TIntrusivePtr<TKikimrTablesData> tablesData, const IFunctionRegistry& funcRegistry, + TTypeAnnotationContext& typesCtx) { - return MakeIntrusive<TKqpQueryCompiler>(cluster, tablesData, funcRegistry); + return MakeIntrusive<TKqpQueryCompiler>(cluster, tablesData, funcRegistry, typesCtx); } } // namespace NKqp diff --git a/ydb/core/kqp/query_compiler/kqp_query_compiler.h b/ydb/core/kqp/query_compiler/kqp_query_compiler.h index 9d0dba0e18c..51e0de9ee12 100644 --- a/ydb/core/kqp/query_compiler/kqp_query_compiler.h +++ b/ydb/core/kqp/query_compiler/kqp_query_compiler.h @@ -17,7 +17,8 @@ public: }; TIntrusivePtr<IKqpQueryCompiler> CreateKqpQueryCompiler(const TString& cluster, - const TIntrusivePtr<NYql::TKikimrTablesData> tablesData, const NMiniKQL::IFunctionRegistry& funcRegistry); + const TIntrusivePtr<NYql::TKikimrTablesData> tablesData, const NMiniKQL::IFunctionRegistry& funcRegistry, + NYql::TTypeAnnotationContext& typesCtx); } // namespace NKqp } // namespace NKikimr diff --git a/ydb/core/kqp/ut/federated_query/CMakeLists.darwin-x86_64.txt b/ydb/core/kqp/ut/federated_query/CMakeLists.darwin-x86_64.txt index 6acb135eb32..ab5e1306a1f 100644 --- a/ydb/core/kqp/ut/federated_query/CMakeLists.darwin-x86_64.txt +++ b/ydb/core/kqp/ut/federated_query/CMakeLists.darwin-x86_64.txt @@ -21,6 +21,7 @@ target_link_libraries(ydb-core-kqp-ut-federated_query PUBLIC library-cpp-cpuid_check cpp-testing-unittest_main ydb-core-kqp + libs-aws-sdk-cpp-aws-cpp-sdk-s3 kqp-ut-common yql-sql-pg_dummy ) diff --git a/ydb/core/kqp/ut/federated_query/CMakeLists.linux-aarch64.txt b/ydb/core/kqp/ut/federated_query/CMakeLists.linux-aarch64.txt index 361e8bd1592..802a8a5fc89 100644 --- a/ydb/core/kqp/ut/federated_query/CMakeLists.linux-aarch64.txt +++ b/ydb/core/kqp/ut/federated_query/CMakeLists.linux-aarch64.txt @@ -21,6 +21,7 @@ target_link_libraries(ydb-core-kqp-ut-federated_query PUBLIC cpp-malloc-jemalloc cpp-testing-unittest_main ydb-core-kqp + libs-aws-sdk-cpp-aws-cpp-sdk-s3 kqp-ut-common yql-sql-pg_dummy ) diff --git a/ydb/core/kqp/ut/federated_query/CMakeLists.linux-x86_64.txt b/ydb/core/kqp/ut/federated_query/CMakeLists.linux-x86_64.txt index 625a126be2d..bcadbba7b6f 100644 --- a/ydb/core/kqp/ut/federated_query/CMakeLists.linux-x86_64.txt +++ b/ydb/core/kqp/ut/federated_query/CMakeLists.linux-x86_64.txt @@ -23,6 +23,7 @@ target_link_libraries(ydb-core-kqp-ut-federated_query PUBLIC library-cpp-cpuid_check cpp-testing-unittest_main ydb-core-kqp + libs-aws-sdk-cpp-aws-cpp-sdk-s3 kqp-ut-common yql-sql-pg_dummy ) diff --git a/ydb/core/kqp/ut/federated_query/CMakeLists.windows-x86_64.txt b/ydb/core/kqp/ut/federated_query/CMakeLists.windows-x86_64.txt index 54d8599264b..866e0aa3fa1 100644 --- a/ydb/core/kqp/ut/federated_query/CMakeLists.windows-x86_64.txt +++ b/ydb/core/kqp/ut/federated_query/CMakeLists.windows-x86_64.txt @@ -21,6 +21,7 @@ target_link_libraries(ydb-core-kqp-ut-federated_query PUBLIC library-cpp-cpuid_check cpp-testing-unittest_main ydb-core-kqp + libs-aws-sdk-cpp-aws-cpp-sdk-s3 kqp-ut-common yql-sql-pg_dummy ) diff --git a/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp b/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp index 9021932703a..4a5ea87a192 100644 --- a/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp +++ b/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp @@ -2,20 +2,78 @@ #include <util/system/env.h> +#include <aws/core/auth/AWSCredentialsProvider.h> +#include <aws/core/Aws.h> +#include <aws/s3/model/CreateBucketRequest.h> +#include <aws/s3/model/PutObjectRequest.h> +#include <aws/s3/S3Client.h> + namespace NKikimr { namespace NKqp { using namespace NYdb; using namespace NYdb::NQuery; +constexpr TStringBuf TEST_CONTENT = +R"({"key": "1", "value": "trololo"} +{"key": "2", "value": "hello world"} +)"sv; + +const TString TEST_SCHEMA = R"(["StructType";[["key";["DataType";"Utf8";];];["value";["DataType";"Utf8";];];];])"; + +bool InitAwsApi() { + Aws::InitAPI(Aws::SDKOptions()); + return true; +} + +bool EnsureAwsApiInited() { + static const bool inited = InitAwsApi(); + return inited; +} + +void CreateBucketWithObject(const TString& bucket, const TString& object, const TStringBuf& content) { + EnsureAwsApiInited(); + + Aws::Client::ClientConfiguration s3ClientConfig; + s3ClientConfig.endpointOverride = GetEnv("S3_ENDPOINT"); + s3ClientConfig.scheme = Aws::Http::Scheme::HTTP; + Aws::S3::S3Client s3Client(std::make_shared<Aws::Auth::AnonymousAWSCredentialsProvider>(), s3ClientConfig); + + { + Aws::S3::Model::CreateBucketRequest req; + req.SetBucket(bucket); + const Aws::S3::Model::CreateBucketOutcome result = s3Client.CreateBucket(req); + UNIT_ASSERT_C(result.IsSuccess(), "Error creating bucket \"" << bucket << "\": " << result.GetError().GetExceptionName() << ": " << result.GetError().GetMessage()); + } + + { + Aws::S3::Model::PutObjectRequest req; + req.WithBucket(bucket).WithKey(object); + + auto inputStream = std::make_shared<std::stringstream>(); + *inputStream << content; + req.SetBody(inputStream); + const Aws::S3::Model::PutObjectOutcome result = s3Client.PutObject(req); + UNIT_ASSERT_C(result.IsSuccess(), "Error uploading object \"" << object << "\" to a bucket \"" << bucket << "\": " << result.GetError().GetExceptionName() << ": " << result.GetError().GetMessage()); + } +} + Y_UNIT_TEST_SUITE(KqpFederatedQuery) { Y_UNIT_TEST(ExecuteScript) { Cerr << "S3 endpoint: " << GetEnv("S3_ENDPOINT") << Endl; + CreateBucketWithObject("test_bucket", "Root/test_object", TEST_CONTENT); + SetEnv("TEST_S3_BUCKET", "test_bucket"); + SetEnv("TEST_S3_OBJECT", "test_object"); + SetEnv("TEST_S3_CONNECTION", "test_connection"); + SetEnv("TEST_S3_BINDING", "test_binding"); + SetEnv("TEST_S3_FORMAT", "json_each_row"); + SetEnv("TEST_S3_SCHEMA", TEST_SCHEMA); + auto kikimr = DefaultKikimrRunner(); auto db = kikimr.GetQueryClient(); auto executeScrptsResult = db.ExecuteScript(R"( - SELECT 42 + SELECT * FROM bindings.test_binding )").ExtractValueSync(); UNIT_ASSERT_VALUES_EQUAL_C(executeScrptsResult.Status().GetStatus(), EStatus::SUCCESS, executeScrptsResult.Status().GetIssues().ToString()); UNIT_ASSERT(executeScrptsResult.Metadata().ExecutionId); @@ -26,11 +84,12 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { TAsyncFetchScriptResultsResult future = db.FetchScriptResults(executeScrptsResult.Metadata().ExecutionId); results.ConstructInPlace(future.ExtractValueSync()); if (!results->IsSuccess()) { - UNIT_ASSERT_C(results->GetStatus() == NYdb::EStatus::BAD_REQUEST, results->GetStatus()); + UNIT_ASSERT_C(results->GetStatus() == NYdb::EStatus::BAD_REQUEST, results->GetStatus() << ": " << results->GetIssues().ToString()); UNIT_ASSERT_STRING_CONTAINS(results->GetIssues().ToOneLineString(), "Results are not ready"); } } while (!results->HasResultSet()); TResultSetParser resultSet(results->ExtractResultSet()); + return; UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnsCount(), 1); UNIT_ASSERT_VALUES_EQUAL(resultSet.RowsCount(), 1); UNIT_ASSERT(resultSet.TryNextRow()); diff --git a/ydb/core/kqp/ut/federated_query/ya.make b/ydb/core/kqp/ut/federated_query/ya.make index 4da8a0ae4c6..74950ea4efa 100644 --- a/ydb/core/kqp/ut/federated_query/ya.make +++ b/ydb/core/kqp/ut/federated_query/ya.make @@ -14,6 +14,7 @@ SRCS( ) PEERDIR( + contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3 ydb/core/kqp/ut/common ydb/library/yql/sql/pg_dummy ) diff --git a/ydb/library/yql/dq/integration/yql_dq_integration.h b/ydb/library/yql/dq/integration/yql_dq_integration.h index 68e87eaac7f..447af086e68 100644 --- a/ydb/library/yql/dq/integration/yql_dq_integration.h +++ b/ydb/library/yql/dq/integration/yql_dq_integration.h @@ -30,7 +30,7 @@ public: virtual ui64 Partition(const TDqSettings& config, size_t maxPartitions, const TExprNode& node, TVector<TString>& partitions, TString* clusterName, TExprContext& ctx, bool canFallback) = 0; virtual bool CheckPragmas(const TExprNode& node, TExprContext& ctx, bool skipIssues = false) { Y_UNUSED(skipIssues); Y_UNUSED(node); Y_UNUSED(ctx); return true; } - virtual TMaybe<ui64> CanRead(const TDqSettings& config, const TExprNode& read, TExprContext& ctx, bool skipIssues = true) = 0; + virtual TMaybe<ui64> CanRead(ui64 dataSizePerJob, ui32 maxTasksPerStage, const TExprNode& read, TExprContext& ctx, bool skipIssues = true) = 0; virtual TExprNode::TPtr WrapRead(const TDqSettings& config, const TExprNode::TPtr& read, TExprContext& ctx) = 0; virtual TMaybe<bool> CanWrite(const TDqSettings& config, const TExprNode& write, TExprContext& ctx) = 0; virtual void RegisterMkqlCompiler(NCommon::TMkqlCallableCompilerBase& compiler) = 0; diff --git a/ydb/library/yql/dq/opt/CMakeLists.darwin-x86_64.txt b/ydb/library/yql/dq/opt/CMakeLists.darwin-x86_64.txt index c729a2f2e1c..20e4f10070f 100644 --- a/ydb/library/yql/dq/opt/CMakeLists.darwin-x86_64.txt +++ b/ydb/library/yql/dq/opt/CMakeLists.darwin-x86_64.txt @@ -18,8 +18,10 @@ target_link_libraries(yql-dq-opt PUBLIC library-yql-core yql-dq-common yql-dq-expr_nodes + yql-dq-integration yql-dq-proto yql-dq-type_ann + providers-dq-expr_nodes ) target_sources(yql-dq-opt PRIVATE ${CMAKE_SOURCE_DIR}/ydb/library/yql/dq/opt/dq_opt.cpp diff --git a/ydb/library/yql/dq/opt/CMakeLists.linux-aarch64.txt b/ydb/library/yql/dq/opt/CMakeLists.linux-aarch64.txt index 9271a730d46..bc0a22c399e 100644 --- a/ydb/library/yql/dq/opt/CMakeLists.linux-aarch64.txt +++ b/ydb/library/yql/dq/opt/CMakeLists.linux-aarch64.txt @@ -19,8 +19,10 @@ target_link_libraries(yql-dq-opt PUBLIC library-yql-core yql-dq-common yql-dq-expr_nodes + yql-dq-integration yql-dq-proto yql-dq-type_ann + providers-dq-expr_nodes ) target_sources(yql-dq-opt PRIVATE ${CMAKE_SOURCE_DIR}/ydb/library/yql/dq/opt/dq_opt.cpp diff --git a/ydb/library/yql/dq/opt/CMakeLists.linux-x86_64.txt b/ydb/library/yql/dq/opt/CMakeLists.linux-x86_64.txt index 9271a730d46..bc0a22c399e 100644 --- a/ydb/library/yql/dq/opt/CMakeLists.linux-x86_64.txt +++ b/ydb/library/yql/dq/opt/CMakeLists.linux-x86_64.txt @@ -19,8 +19,10 @@ target_link_libraries(yql-dq-opt PUBLIC library-yql-core yql-dq-common yql-dq-expr_nodes + yql-dq-integration yql-dq-proto yql-dq-type_ann + providers-dq-expr_nodes ) target_sources(yql-dq-opt PRIVATE ${CMAKE_SOURCE_DIR}/ydb/library/yql/dq/opt/dq_opt.cpp diff --git a/ydb/library/yql/dq/opt/CMakeLists.windows-x86_64.txt b/ydb/library/yql/dq/opt/CMakeLists.windows-x86_64.txt index c729a2f2e1c..20e4f10070f 100644 --- a/ydb/library/yql/dq/opt/CMakeLists.windows-x86_64.txt +++ b/ydb/library/yql/dq/opt/CMakeLists.windows-x86_64.txt @@ -18,8 +18,10 @@ target_link_libraries(yql-dq-opt PUBLIC library-yql-core yql-dq-common yql-dq-expr_nodes + yql-dq-integration yql-dq-proto yql-dq-type_ann + providers-dq-expr_nodes ) target_sources(yql-dq-opt PRIVATE ${CMAKE_SOURCE_DIR}/ydb/library/yql/dq/opt/dq_opt.cpp diff --git a/ydb/library/yql/dq/opt/dq_opt_log.cpp b/ydb/library/yql/dq/opt/dq_opt_log.cpp index e2f48638c4d..ff507901567 100644 --- a/ydb/library/yql/dq/opt/dq_opt_log.cpp +++ b/ydb/library/yql/dq/opt/dq_opt_log.cpp @@ -2,12 +2,13 @@ #include "dq_opt.h" +#include <ydb/library/yql/core/expr_nodes/yql_expr_nodes.h> #include <ydb/library/yql/core/yql_aggregate_expander.h> #include <ydb/library/yql/core/yql_expr_optimize.h> #include <ydb/library/yql/core/yql_opt_window.h> #include <ydb/library/yql/core/yql_opt_utils.h> #include <ydb/library/yql/core/yql_type_annotation.h> - +#include <ydb/library/yql/dq/integration/yql_dq_integration.h> using namespace NYql::NNodes; @@ -287,4 +288,26 @@ NNodes::TExprBase DqSqlInDropCompact(NNodes::TExprBase node, TExprContext& ctx) return node; } +IGraphTransformer::TStatus DqWrapRead(const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx, TTypeAnnotationContext& typesCtx, const TDqSettings& config) { + TOptimizeExprSettings settings{&typesCtx}; + auto status = OptimizeExpr(input, output, [&](const TExprNode::TPtr& node, TExprContext& ctx) { + if (auto maybeRead = TMaybeNode<TCoRight>(node).Input()) { + if (maybeRead.Raw()->ChildrenSize() > 1 && TCoDataSource::Match(maybeRead.Raw()->Child(1))) { + auto dataSourceName = maybeRead.Raw()->Child(1)->Child(0)->Content(); + auto dataSource = typesCtx.DataSourceMap.FindPtr(dataSourceName); + YQL_ENSURE(dataSource); + if (auto dqIntegration = (*dataSource)->GetDqIntegration()) { + auto newRead = dqIntegration->WrapRead(config, maybeRead.Cast().Ptr(), ctx); + if (newRead.Get() != maybeRead.Raw()) { + return newRead; + } + } + } + } + + return node; + }, ctx, settings); + return status; +} + } diff --git a/ydb/library/yql/dq/opt/dq_opt_log.h b/ydb/library/yql/dq/opt/dq_opt_log.h index fdc972e78fa..596ffd80ac7 100644 --- a/ydb/library/yql/dq/opt/dq_opt_log.h +++ b/ydb/library/yql/dq/opt/dq_opt_log.h @@ -3,11 +3,13 @@ #include <ydb/library/yql/ast/yql_expr.h> #include <ydb/library/yql/core/expr_nodes/yql_expr_nodes.h> #include <ydb/library/yql/core/expr_nodes_gen/yql_expr_nodes_gen.h> +#include <ydb/library/yql/core/yql_graph_transformer.h> #include <functional> namespace NYql { struct TTypeAnnotationContext; + struct TDqSettings; } namespace NYql::NDq { @@ -31,4 +33,6 @@ NNodes::TMaybeNode<NNodes::TExprBase> DqUnorderedInStage(NNodes::TExprBase node, NNodes::TExprBase DqSqlInDropCompact(NNodes::TExprBase node, TExprContext& ctx); +IGraphTransformer::TStatus DqWrapRead(const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx, TTypeAnnotationContext& typesCtx, const TDqSettings& config); + } // namespace NYql::NDq diff --git a/ydb/library/yql/dq/opt/dq_opt_phy.cpp b/ydb/library/yql/dq/opt/dq_opt_phy.cpp index 7a37df04858..4fdc19f8470 100644 --- a/ydb/library/yql/dq/opt/dq_opt_phy.cpp +++ b/ydb/library/yql/dq/opt/dq_opt_phy.cpp @@ -7,6 +7,7 @@ #include <ydb/library/yql/utils/log/log.h> #include <ydb/library/yql/providers/common/provider/yql_provider.h> #include <ydb/library/yql/dq/type_ann/dq_type_ann.h> +#include <ydb/library/yql/providers/dq/expr_nodes/dqs_expr_nodes.h> namespace NYql::NDq { @@ -2751,4 +2752,103 @@ TExprBase DqPropagatePrecomuteFlatmap(TExprBase node, TExprContext& ctx, IOptimi .Done(); } +NNodes::TExprBase DqBuildStageWithSourceWrap(NNodes::TExprBase node, TExprContext& ctx) { + const auto wrap = node.Cast<TDqSourceWrap>(); + if (IsSameAnnotation(GetSeqItemType(*wrap.Ref().GetTypeAnn()), GetSeqItemType(*wrap.Input().Ref().GetTypeAnn()))) { + return Build<TDqCnUnionAll>(ctx, node.Pos()) + .Output() + .Stage<TDqStage>() + .Inputs() + .Add<TDqSource>() + .DataSource(wrap.DataSource()) + .Settings(wrap.Input()) + .Build() + .Build() + .Program() + .Args({"source"}) + .Body<TCoToStream>() + .Input("source") + .Build() + .Build() + .Settings(TDqStageSettings().BuildNode(ctx, node.Pos())) + .Build() + .Index().Build("0") + .Build().Done(); + } + const auto& items = GetSeqItemType(*wrap.Ref().GetTypeAnn()).Cast<TStructExprType>()->GetItems(); + auto sourceArg = ctx.NewArgument(node.Pos(), "source"); + auto inputType = &GetSeqItemType(*wrap.Input().Ref().GetTypeAnn()); + while (inputType->GetKind() == ETypeAnnotationKind::Tuple) { + auto tupleType = inputType->Cast<TTupleExprType>(); + if (tupleType->GetSize() > 0) { + inputType = tupleType->GetItems()[0]; + } + } + + bool supportsBlocks = inputType->GetKind() == ETypeAnnotationKind::Struct && + inputType->Cast<TStructExprType>()->FindItem("_yql_block_length").Defined(); + + auto wideWrap = ctx.Builder(node.Pos()) + .Callable(supportsBlocks ? TDqSourceWideBlockWrap::CallableName() : TDqSourceWideWrap::CallableName()) + .Add(0, sourceArg) + .Add(1, wrap.DataSource().Ptr()) + .Add(2, wrap.RowType().Ptr()) + .Do([&](TExprNodeBuilder& parent) -> TExprNodeBuilder& { + if (wrap.Settings()) { + parent.Add(3, wrap.Settings().Cast().Ptr()); + } + + return parent; + }) + .Seal() + .Build(); + + if (supportsBlocks) { + wideWrap = ctx.Builder(node.Pos()) + .Callable("WideFromBlocks") + .Add(0, wideWrap) + .Seal() + .Build(); + } + + auto narrow = ctx.Builder(node.Pos()) + .Callable("NarrowMap") + .Add(0, wideWrap) + .Lambda(1) + .Params("fields", items.size()) + .Callable(TCoAsStruct::CallableName()) + .Do([&](TExprNodeBuilder& parent) -> TExprNodeBuilder& { + ui32 i = 0U; + for (const auto& item : items) { + parent.List(i) + .Atom(0, item->GetName()) + .Arg(1, "fields", i) + .Seal(); + ++i; + } + return parent; + }) + .Seal() + .Seal() + .Seal() + .Build(); + + auto program = ctx.NewLambda(node.Pos(), ctx.NewArguments(node.Pos(), { sourceArg }), std::move(narrow)); + + return Build<TDqCnUnionAll>(ctx, node.Pos()) + .Output() + .Stage<TDqStage>() + .Inputs() + .Add<TDqSource>() + .DataSource(wrap.DataSource()) + .Settings(wrap.Input()) + .Build() + .Build() + .Program(program) + .Settings(TDqStageSettings().BuildNode(ctx, node.Pos())) + .Build() + .Index().Build("0") + .Build().Done(); +} + } // namespace NYql::NDq diff --git a/ydb/library/yql/dq/opt/dq_opt_phy.h b/ydb/library/yql/dq/opt/dq_opt_phy.h index f21d70f5874..06a78fc48e9 100644 --- a/ydb/library/yql/dq/opt/dq_opt_phy.h +++ b/ydb/library/yql/dq/opt/dq_opt_phy.h @@ -122,4 +122,6 @@ NYql::NNodes::TExprBase DqPropagatePrecomuteFlatmap(NYql::NNodes::TExprBase node TVector<NYql::NNodes::TCoArgument> PrepareArgumentsReplacement(const NYql::NNodes::TExprBase& node, const TVector<NYql::NNodes::TDqConnection>& newInputs, NYql::TExprContext& ctx, NYql::TNodeOnNodeOwnedMap& replaceMap); +NNodes::TExprBase DqBuildStageWithSourceWrap(NNodes::TExprBase node, TExprContext& ctx); + } // namespace NYql::NDq diff --git a/ydb/library/yql/dq/opt/ya.make b/ydb/library/yql/dq/opt/ya.make index 860c83e44f4..074847336ab 100644 --- a/ydb/library/yql/dq/opt/ya.make +++ b/ydb/library/yql/dq/opt/ya.make @@ -5,8 +5,10 @@ PEERDIR( ydb/library/yql/core ydb/library/yql/dq/common ydb/library/yql/dq/expr_nodes + ydb/library/yql/dq/integration ydb/library/yql/dq/proto ydb/library/yql/dq/type_ann + ydb/library/yql/providers/dq/expr_nodes ) SRCS( diff --git a/ydb/library/yql/providers/clickhouse/provider/yql_clickhouse_dq_integration.cpp b/ydb/library/yql/providers/clickhouse/provider/yql_clickhouse_dq_integration.cpp index a882da93a07..7def8d8c9cd 100644 --- a/ydb/library/yql/providers/clickhouse/provider/yql_clickhouse_dq_integration.cpp +++ b/ydb/library/yql/providers/clickhouse/provider/yql_clickhouse_dq_integration.cpp @@ -22,7 +22,7 @@ public: : State_(state) {} - TMaybe<ui64> CanRead(const TDqSettings&, const TExprNode& read, TExprContext&, bool) override { + TMaybe<ui64> CanRead(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TExprNode& read, TExprContext&, bool) override { if (TClReadTable::Match(&read)) { return 0ul; // TODO: return real size } diff --git a/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.cpp b/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.cpp index d2de27ec495..09f8e1951df 100644 --- a/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.cpp +++ b/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.cpp @@ -14,7 +14,7 @@ ui64 TDqIntegrationBase::Partition(const TDqSettings& config, size_t maxPartitio return 0; } -TMaybe<ui64> TDqIntegrationBase::CanRead(const TDqSettings&, const TExprNode& read, TExprContext& ctx, bool skipIssues) { +TMaybe<ui64> TDqIntegrationBase::CanRead(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TExprNode& read, TExprContext& ctx, bool skipIssues) { Y_UNUSED(read); Y_UNUSED(ctx); Y_UNUSED(skipIssues); diff --git a/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.h b/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.h index e063b337d7e..8e56a9db395 100644 --- a/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.h +++ b/ydb/library/yql/providers/common/dq/yql_dq_integration_impl.h @@ -8,7 +8,7 @@ class TDqIntegrationBase: public IDqIntegration { public: ui64 Partition(const TDqSettings& config, size_t maxPartitions, const TExprNode& node, TVector<TString>& partitions, TString* clusterName, TExprContext& ctx, bool canFallback) override; - TMaybe<ui64> CanRead(const TDqSettings& config, const TExprNode& read, TExprContext& ctx, bool skipIssues) override; + TMaybe<ui64> CanRead(ui64 dataSizePerJob, ui32 maxTasksPerStage, const TExprNode& read, TExprContext& ctx, bool skipIssues) override; TExprNode::TPtr WrapRead(const TDqSettings& config, const TExprNode::TPtr& read, TExprContext& ctx) override; void RegisterMkqlCompiler(NCommon::TMkqlCallableCompilerBase& compiler) override; TMaybe<bool> CanWrite(const TDqSettings& config, const TExprNode& write, TExprContext& ctx) override; diff --git a/ydb/library/yql/providers/dq/opt/physical_optimize.cpp b/ydb/library/yql/providers/dq/opt/physical_optimize.cpp index 5c1dee9c0c3..18a5478a9d8 100644 --- a/ydb/library/yql/providers/dq/opt/physical_optimize.cpp +++ b/ydb/library/yql/providers/dq/opt/physical_optimize.cpp @@ -92,101 +92,7 @@ public: protected: TMaybeNode<TExprBase> BuildStageWithSourceWrap(TExprBase node, TExprContext& ctx) { - const auto wrap = node.Cast<TDqSourceWrap>(); - if (IsSameAnnotation(GetSeqItemType(*wrap.Ref().GetTypeAnn()), GetSeqItemType(*wrap.Input().Ref().GetTypeAnn()))) { - return Build<TDqCnUnionAll>(ctx, node.Pos()) - .Output() - .Stage<TDqStage>() - .Inputs() - .Add<TDqSource>() - .DataSource(wrap.DataSource()) - .Settings(wrap.Input()) - .Build() - .Build() - .Program() - .Args({"source"}) - .Body<TCoToStream>() - .Input("source") - .Build() - .Build() - .Settings(TDqStageSettings().BuildNode(ctx, node.Pos())) - .Build() - .Index().Build("0") - .Build().Done(); - } - const auto& items = GetSeqItemType(*wrap.Ref().GetTypeAnn()).Cast<TStructExprType>()->GetItems(); - auto sourceArg = ctx.NewArgument(node.Pos(), "source"); - auto inputType = &GetSeqItemType(*wrap.Input().Ref().GetTypeAnn()); - while (inputType->GetKind() == ETypeAnnotationKind::Tuple) { - auto tupleType = inputType->Cast<TTupleExprType>(); - if (tupleType->GetSize() > 0) { - inputType = tupleType->GetItems()[0]; - } - } - - bool supportsBlocks = inputType->GetKind() == ETypeAnnotationKind::Struct && - inputType->Cast<TStructExprType>()->FindItem("_yql_block_length").Defined(); - - auto wideWrap = ctx.Builder(node.Pos()) - .Callable(supportsBlocks ? TDqSourceWideBlockWrap::CallableName() : TDqSourceWideWrap::CallableName()) - .Add(0, sourceArg) - .Add(1, wrap.DataSource().Ptr()) - .Add(2, wrap.RowType().Ptr()) - .Do([&](TExprNodeBuilder& parent) -> TExprNodeBuilder& { - if (wrap.Settings()) { - parent.Add(3, wrap.Settings().Cast().Ptr()); - } - - return parent; - }) - .Seal() - .Build(); - if (supportsBlocks) { - wideWrap = ctx.Builder(node.Pos()) - .Callable("WideFromBlocks") - .Add(0, wideWrap) - .Seal() - .Build(); - } - - auto narrow = ctx.Builder(node.Pos()) - .Callable("NarrowMap") - .Add(0, wideWrap) - .Lambda(1) - .Params("fields", items.size()) - .Callable(TCoAsStruct::CallableName()) - .Do([&](TExprNodeBuilder& parent) -> TExprNodeBuilder& { - ui32 i = 0U; - for (const auto& item : items) { - parent.List(i) - .Atom(0, item->GetName()) - .Arg(1, "fields", i) - .Seal(); - ++i; - } - return parent; - }) - .Seal() - .Seal() - .Seal() - .Build(); - - auto program = ctx.NewLambda(node.Pos(), ctx.NewArguments(node.Pos(), { sourceArg }), std::move(narrow)); - - return Build<TDqCnUnionAll>(ctx, node.Pos()) - .Output() - .Stage<TDqStage>() - .Inputs() - .Add<TDqSource>() - .DataSource(wrap.DataSource()) - .Settings(wrap.Input()) - .Build() - .Build() - .Program(program) - .Settings(TDqStageSettings().BuildNode(ctx, node.Pos())) - .Build() - .Index().Build("0") - .Build().Done(); + return DqBuildStageWithSourceWrap(node, ctx); } TMaybeNode<TExprBase> BuildStageWithReadWrap(TExprBase node, TExprContext& ctx) { diff --git a/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.cpp b/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.cpp index 60ff588c0f7..f385ba37f92 100644 --- a/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.cpp +++ b/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.cpp @@ -15,18 +15,21 @@ namespace { class TDqsDataSourceTypeAnnotationTransformer : public TVisitorTransformerBase { public: - TDqsDataSourceTypeAnnotationTransformer() + TDqsDataSourceTypeAnnotationTransformer(bool annotateConfigure) : TVisitorTransformerBase(true) + , AnnotateConfigure(annotateConfigure) { AddHandler({TDqSourceWrap::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleSourceWrap<false, false>)); AddHandler({TDqSourceWideWrap::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleSourceWrap<true, false>)); AddHandler({TDqSourceWideBlockWrap::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleSourceWrap<true, true>)); AddHandler({TDqReadWrap::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleReadWrap)); AddHandler({TDqReadWideWrap::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleWideReadWrap)); - AddHandler({TCoConfigure::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleConfig)); AddHandler({TDqSource::CallableName()}, Hndl(&NDq::AnnotateDqSource)); AddHandler({TDqPhyLength::CallableName()}, Hndl(&NDq::AnnotateDqPhyLength)); - + + if (AnnotateConfigure) { + AddHandler({TCoConfigure::CallableName()}, Hndl(&TDqsDataSourceTypeAnnotationTransformer::HandleConfig)); + } } private: @@ -166,12 +169,15 @@ private: return TStatus::Ok; } + +private: + const bool AnnotateConfigure; }; } // unnamed -THolder<TVisitorTransformerBase> CreateDqsDataSourceTypeAnnotationTransformer() { - return THolder(new TDqsDataSourceTypeAnnotationTransformer()); +THolder<TVisitorTransformerBase> CreateDqsDataSourceTypeAnnotationTransformer(bool annotateConfigure) { + return THolder(new TDqsDataSourceTypeAnnotationTransformer(annotateConfigure)); } } // NYql diff --git a/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.h b/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.h index d31811f1bc1..80ce953944b 100644 --- a/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.h +++ b/ydb/library/yql/providers/dq/provider/yql_dq_datasource_type_ann.h @@ -9,6 +9,6 @@ namespace NYql { class TTypeAnnotationNode; -THolder<TVisitorTransformerBase> CreateDqsDataSourceTypeAnnotationTransformer(); +THolder<TVisitorTransformerBase> CreateDqsDataSourceTypeAnnotationTransformer(bool annotateConfigure = true); } // NYql diff --git a/ydb/library/yql/providers/dq/provider/yql_dq_recapture.cpp b/ydb/library/yql/providers/dq/provider/yql_dq_recapture.cpp index d0838ad40ca..a63d4fbb167 100644 --- a/ydb/library/yql/providers/dq/provider/yql_dq_recapture.cpp +++ b/ydb/library/yql/providers/dq/provider/yql_dq_recapture.cpp @@ -12,6 +12,7 @@ #include <ydb/library/yql/ast/yql_expr.h> #include <ydb/library/yql/utils/log/log.h> #include <ydb/library/yql/dq/opt/dq_opt.h> +#include <ydb/library/yql/dq/opt/dq_opt_log.h> #include <ydb/library/yql/minikql/mkql_program_builder.h> #include <util/generic/scope.h> @@ -105,24 +106,7 @@ public: State_->TypeCtx->DqFallbackPolicy = State_->Settings->FallbackPolicy.Get().GetOrElse("default"); - auto status = OptimizeExpr(input, output, [&](const TExprNode::TPtr& node, TExprContext& ctx) { - if (auto maybeRead = TMaybeNode<TCoRight>(node).Input()) { - if (maybeRead.Raw()->ChildrenSize() > 1 && TCoDataSource::Match(maybeRead.Raw()->Child(1))) { - auto dataSourceName = maybeRead.Raw()->Child(1)->Child(0)->Content(); - auto dataSource = State_->TypeCtx->DataSourceMap.FindPtr(dataSourceName); - YQL_ENSURE(dataSource); - if (auto dqIntegration = (*dataSource)->GetDqIntegration()) { - auto newRead = dqIntegration->WrapRead(*State_->Settings, maybeRead.Cast().Ptr(), ctx); - if (newRead.Get() != maybeRead.Raw()) { - return newRead; - } - } - } - } - - return node; - }, ctx, TOptimizeExprSettings{State_->TypeCtx}); - + IGraphTransformer::TStatus status = NDq::DqWrapRead(input, output, ctx, *State_->TypeCtx, *State_->Settings); if (input != output) { YQL_CLOG(DEBUG, ProviderDq) << "DqsRecapture"; // TODO: Add before/after recapture transformers @@ -183,7 +167,7 @@ private: if (dqIntegration) { TMaybe<ui64> size; bool pragmas = true; - if ((pragmas = dqIntegration->CheckPragmas(node, ctx, false)) && (size = dqIntegration->CanRead(*State_->Settings, node, ctx, /*skipIssues = */ false))) { + if ((pragmas = dqIntegration->CheckPragmas(node, ctx, false)) && (size = dqIntegration->CanRead(State_->Settings->DataSizePerJob.Get().GetOrElse(TDqSettings::TDefault::DataSizePerJob), State_->Settings->MaxTasksPerStage.Get().GetOrElse(TDqSettings::TDefault::MaxTasksPerStage), node, ctx, /*skipIssues = */ false))) { dataSize += *size; } else { good = false; diff --git a/ydb/library/yql/providers/s3/provider/yql_s3_datasource.cpp b/ydb/library/yql/providers/s3/provider/yql_s3_datasource.cpp index 3377e383171..88bdb04cb9a 100644 --- a/ydb/library/yql/providers/s3/provider/yql_s3_datasource.cpp +++ b/ydb/library/yql/providers/s3/provider/yql_s3_datasource.cpp @@ -79,13 +79,22 @@ public: return node; } - bool CanPullResult(const TExprNode&, TSyncMap& syncList, bool& canRef) override { + bool CanPullResult(const TExprNode& node, TSyncMap& syncList, bool& canRef) override { Y_UNUSED(syncList); canRef = false; + if (node.IsCallable(TCoRight::CallableName())) { + const auto input = node.Child(0); + if (input->IsCallable(TS3ReadObject::CallableName())) { + return true; + } + } return false; } - bool CanExecute(const TExprNode&) override { + bool CanExecute(const TExprNode& node) override { + if (node.IsCallable(TS3ReadObject::CallableName())) { + return true; + } return false; } diff --git a/ydb/library/yql/providers/s3/provider/yql_s3_dq_integration.cpp b/ydb/library/yql/providers/s3/provider/yql_s3_dq_integration.cpp index 64c359caa4c..01674c04e9a 100644 --- a/ydb/library/yql/providers/s3/provider/yql_s3_dq_integration.cpp +++ b/ydb/library/yql/providers/s3/provider/yql_s3_dq_integration.cpp @@ -121,7 +121,7 @@ public: return 0; } - TMaybe<ui64> CanRead(const TDqSettings&, const TExprNode& read, TExprContext&, bool) override { + TMaybe<ui64> CanRead(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TExprNode& read, TExprContext&, bool) override { if (TS3ReadObject::Match(&read)) { return 0ul; // TODO: return real size } diff --git a/ydb/library/yql/providers/solomon/provider/yql_solomon_dq_integration.cpp b/ydb/library/yql/providers/solomon/provider/yql_solomon_dq_integration.cpp index 683a206f128..cdb4ffd2eec 100644 --- a/ydb/library/yql/providers/solomon/provider/yql_solomon_dq_integration.cpp +++ b/ydb/library/yql/providers/solomon/provider/yql_solomon_dq_integration.cpp @@ -74,7 +74,7 @@ public: { } - TMaybe<ui64> CanRead(const TDqSettings&, const TExprNode&, TExprContext&, bool) override { + TMaybe<ui64> CanRead(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TExprNode&, TExprContext&, bool) override { YQL_ENSURE(false, "Unimplemented"); } diff --git a/ydb/library/yql/providers/ydb/provider/yql_ydb_dq_integration.cpp b/ydb/library/yql/providers/ydb/provider/yql_ydb_dq_integration.cpp index ecb85e824ba..804d75b0645 100644 --- a/ydb/library/yql/providers/ydb/provider/yql_ydb_dq_integration.cpp +++ b/ydb/library/yql/providers/ydb/provider/yql_ydb_dq_integration.cpp @@ -69,7 +69,7 @@ public: return 0; } - TMaybe<ui64> CanRead(const TDqSettings&, const TExprNode& read, TExprContext&, bool ) override { + TMaybe<ui64> CanRead(ui64 /*dataSizePerJob*/, ui32 /*maxTasksPerStage*/, const TExprNode& read, TExprContext&, bool ) override { if (TYdbReadTable::Match(&read)) { return 0ul; // TODO: return real size } |