summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/ide/completion/name/object/simple/cached/schema.h
blob: f0b5d9f1d9837766f65d613084dc98273fac2abd (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 "key.h"

#include <yql/essentials/sql/v1/ide/completion/name/object/simple/schema.h>

#include <yql/essentials/sql/v1/ide/completion/name/cache/cache.h>

namespace NSQLComplete {

using ISchemaListCache = ICache<TSchemaDescribeCacheKey, TVector<TFolderEntry>>;
using ISchemaDescribeTableCache = ICache<TSchemaDescribeCacheKey, TMaybe<TTableDetails>>;

struct TSchemaCaches {
    ISchemaListCache::TPtr List;
    ISchemaDescribeTableCache::TPtr DescribeTable;
};

// TODO(YQL-19747): deprecated, migrate YDB CLI
ISimpleSchema::TPtr MakeCachedSimpleSchema(
    ISchemaListCache::TPtr cache, TString zone, ISimpleSchema::TPtr origin);

ISimpleSchema::TPtr MakeCachedSimpleSchema(
    TSchemaCaches caches, TString zone, ISimpleSchema::TPtr origin);

} // namespace NSQLComplete