aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/parser/pg_wrapper/interface/context.h
blob: 127fcfa38809bc401c6cc7fb12693ca63d8d7443 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <string_view>
#include <yql/essentials/core/pg_settings/guc_settings.h>
#include <yql/essentials/parser/pg_catalog/catalog.h>

namespace NKikimr {
namespace NMiniKQL {

void* PgInitializeMainContext();
void PgDestroyMainContext(void* ctx);

void PgAcquireThreadContext(void* ctx);
void PgReleaseThreadContext(void* ctx);

std::unique_ptr<NYql::NPg::IExtensionLoader> CreateExtensionLoader();

void* PgInitializeContext(const std::string_view& contextType);
void PgDestroyContext(const std::string_view& contextType, void* ctx);

void PgSetGUCSettings(void* ctx, const TGUCSettings::TPtr& GUCSettings);
std::optional<std::string> PGGetGUCSetting(const std::string& key);

void PgCreateSysCacheEntries(void* ctx);
} // namespace NMiniKQL
} // namespace NKikimr