Browse Source

Another workaround for exported read table API (#7726)

Vitaly Stoyan 7 months ago
parent
commit
1130be0a92

+ 10 - 0
ydb/library/yql/parser/pg_wrapper/read_table.cpp

@@ -115,3 +115,13 @@ extern "C" void yql_iterator_close(struct yql_table_iterator** iterator) {
     pfree(*iterator);
     *iterator = nullptr;
 }
+
+extern "C" ui64 TouchReadTableApi() {
+    return 
+        (ui64)&yql_read_table +
+        (ui64)&yql_iterator_error +
+        (ui64)&yql_iterator_has_data +
+        (ui64)&yql_iterator_value +
+        (ui64)&yql_iterator_move +
+        (ui64)&yql_iterator_close;
+}

+ 5 - 1
ydb/library/yql/parser/pg_wrapper/utils.cpp

@@ -105,9 +105,13 @@ private:
     TVector<std::unique_ptr<TExtension>> Extensions;
 };
 
+extern "C" ui64 TouchReadTableApi();
+
 TExtensionsRegistry::TExtensionsRegistry()
     : Impl_(std::make_unique<TImpl>())
-{}
+{
+    Y_UNUSED(TouchReadTableApi());
+}
 
 TExtensionsRegistry& TExtensionsRegistry::Instance() {
     return *Singleton<TExtensionsRegistry>();

+ 1 - 1
ydb/library/yql/parser/pg_wrapper/ya.make

@@ -33,7 +33,7 @@ SRCS(
     comp_factory.cpp
     type_cache.cpp
     pg_aggs.cpp
-    GLOBAL read_table.cpp
+    read_table.cpp
     recovery.cpp
     superuser.cpp
     config.cpp