ConnectionImpl.h 2.5 KB
Newer Older
K
kun yu 已提交
1 2 3 4 5 6 7
/*******************************************************************************
* Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited.
* Proprietary and confidential.
******************************************************************************/
#pragma once

K
kun yu 已提交
8 9 10 11
#include "MilvusApi.h"
#ifdef MILVUS_ENABLE_THRIFT
#include "src/sdk/thrift/ClientProxy.h"
#else
K
kun yu 已提交
12
#include "src/sdk/grpc/ClientProxy.h"
K
kun yu 已提交
13
#endif
K
kun yu 已提交
14 15 16 17 18 19 20 21

namespace milvus {

class ConnectionImpl : public Connection {
public:
    ConnectionImpl();

    // Implementations of the Connection interface
Y
Yu Kun 已提交
22 23
    virtual Status
    Connect(const ConnectParam &param) override;
K
kun yu 已提交
24

Y
Yu Kun 已提交
25 26
    virtual Status
    Connect(const std::string &uri) override;
K
kun yu 已提交
27

Y
Yu Kun 已提交
28 29
    virtual Status
    Connected() const override;
K
kun yu 已提交
30

Y
Yu Kun 已提交
31 32
    virtual Status
    Disconnect() override;
K
kun yu 已提交
33

Y
Yu Kun 已提交
34 35
    virtual Status
    CreateTable(const TableSchema &param) override;
K
kun yu 已提交
36

K
kun yu 已提交
37 38
    virtual
    bool HasTable(const std::string &table_name) override;
K
kun yu 已提交
39

Y
Yu Kun 已提交
40 41
    virtual Status
    DropTable(const std::string &table_name) override;
K
kun yu 已提交
42

Y
Yu Kun 已提交
43
    virtual Status
Y
Yu Kun 已提交
44
    CreateIndex(const IndexParam &index_param) override;
K
kun yu 已提交
45

Y
Yu Kun 已提交
46
    virtual Status
Y
Yu Kun 已提交
47 48 49
    Insert(const std::string &table_name,
           const std::vector<RowRecord> &record_array,
           std::vector<int64_t> &id_array) override;
K
kun yu 已提交
50

Y
Yu Kun 已提交
51
    virtual Status
Y
Yu Kun 已提交
52
    Search(const std::string &table_name,
K
kun yu 已提交
53 54 55 56 57
                                const std::vector<RowRecord> &query_record_array,
                                const std::vector<Range> &query_range_array,
                                int64_t topk,
                                std::vector<TopKQueryResult> &topk_query_result_array) override;

Y
Yu Kun 已提交
58 59
    virtual Status
    DescribeTable(const std::string &table_name, TableSchema &table_schema) override;
K
kun yu 已提交
60

Y
Yu Kun 已提交
61
    virtual Status
Y
Yu Kun 已提交
62
    CountTable(const std::string &table_name, int64_t &row_count) override;
K
kun yu 已提交
63

Y
Yu Kun 已提交
64 65
    virtual Status
    ShowTables(std::vector<std::string> &table_array) override;
K
kun yu 已提交
66

Y
Yu Kun 已提交
67 68
    virtual std::string
    ClientVersion() const override;
K
kun yu 已提交
69

Y
Yu Kun 已提交
70 71
    virtual std::string
    ServerVersion() const override;
K
kun yu 已提交
72

Y
Yu Kun 已提交
73 74
    virtual std::string
    ServerStatus() const override;
K
kun yu 已提交
75

Y
Yu Kun 已提交
76 77 78 79 80 81 82 83 84 85 86 87 88
    virtual Status
    DeleteByRange(Range &range,
                  const std::string &table_name) override;

    virtual Status
    PreloadTable(const std::string &table_name) const override;

    virtual IndexParam
    DescribeIndex(const std::string &table_name) const override;

    virtual Status
    DropIndex(const std::string &table_name) const override;

K
kun yu 已提交
89 90 91 92 93
private:
    std::shared_ptr<ClientProxy> client_proxy_;
};

}