yql_pg_provider.cpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "yql_pg_provider.h"
  2. #include "yql_pg_provider_impl.h"
  3. #include <yql/essentials/core/yql_type_annotation.h>
  4. #include <yql/essentials/providers/common/provider/yql_provider_names.h>
  5. namespace NYql {
  6. TDataProviderInitializer GetPgDataProviderInitializer() {
  7. return [] (
  8. const TString& userName,
  9. const TString& sessionId,
  10. const TGatewaysConfig* gatewaysConfig,
  11. const NKikimr::NMiniKQL::IFunctionRegistry* functionRegistry,
  12. TIntrusivePtr<IRandomProvider> randomProvider,
  13. TIntrusivePtr<TTypeAnnotationContext> typeCtx,
  14. const TOperationProgressWriter& progressWriter,
  15. const TYqlOperationOptions& operationOptions,
  16. THiddenQueryAborter hiddenAborter,
  17. const TQContext& qContext
  18. ) {
  19. Y_UNUSED(userName);
  20. Y_UNUSED(sessionId);
  21. Y_UNUSED(gatewaysConfig);
  22. Y_UNUSED(functionRegistry);
  23. Y_UNUSED(randomProvider);
  24. Y_UNUSED(typeCtx);
  25. Y_UNUSED(progressWriter);
  26. Y_UNUSED(operationOptions);
  27. Y_UNUSED(hiddenAborter);
  28. Y_UNUSED(qContext);
  29. auto state = MakeIntrusive<TPgState>();
  30. state->Types = typeCtx.Get();
  31. TDataProviderInfo info;
  32. info.Names.insert(TString{PgProviderName});
  33. info.Source = CreatePgDataSource(state);
  34. info.Sink = CreatePgDataSink(state);
  35. info.OpenSession = [](
  36. const TString& sessionId,
  37. const TString& username,
  38. const TOperationProgressWriter& progressWriter,
  39. const TYqlOperationOptions& operationOptions,
  40. TIntrusivePtr<IRandomProvider> randomProvider,
  41. TIntrusivePtr<ITimeProvider> timeProvider) {
  42. Y_UNUSED(sessionId);
  43. Y_UNUSED(username);
  44. Y_UNUSED(progressWriter);
  45. Y_UNUSED(operationOptions);
  46. Y_UNUSED(randomProvider);
  47. Y_UNUSED(timeProvider);
  48. return NThreading::MakeFuture();
  49. };
  50. info.CloseSessionAsync = [](const TString& sessionId) {
  51. Y_UNUSED(sessionId);
  52. return NThreading::MakeFuture();
  53. };
  54. return info;
  55. };
  56. }
  57. }