aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/public/api/grpc/ydb_table_v1.proto
blob: 27c00b9ae2e721db5f0885eba98bd35d5b13d056 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
syntax = "proto3";

package Ydb.Table.V1;
option java_package = "com.yandex.ydb.table.v1";

import "ydb/public/api/protos/ydb_table.proto";

service TableService {

    // Create new session. Implicit session creation is forbidden,
    // so user must create new session before execute any query,
    // otherwise BAD_SESSION status will be returned.
    // Simultaneous execution of requests are forbiden.
    // Sessions are volatile, can be invalidated by server, for example in case
    // of fatal errors. All requests with this session will fail with BAD_SESSION status.
    // So, client must be able to handle BAD_SESSION status.
    rpc CreateSession(Table.CreateSessionRequest) returns (Table.CreateSessionResponse);

    // Ends a session, releasing server resources associated with it.
    rpc DeleteSession(Table.DeleteSessionRequest) returns (Table.DeleteSessionResponse);

    // Idle sessions can be kept alive by calling KeepAlive periodically.
    rpc KeepAlive(Table.KeepAliveRequest) returns (Table.KeepAliveResponse);

    // Creates new table.
    rpc CreateTable(Table.CreateTableRequest) returns (Table.CreateTableResponse);

    // Drop table.
    rpc DropTable(Table.DropTableRequest) returns (Table.DropTableResponse);
 
    // Modifies schema of given table.
    rpc AlterTable(Table.AlterTableRequest) returns (Table.AlterTableResponse);

    // Creates copy of given table.
    rpc CopyTable(Table.CopyTableRequest) returns (Table.CopyTableResponse);

    // Creates consistent copy of given tables.
    rpc CopyTables(Table.CopyTablesRequest) returns (Table.CopyTablesResponse);

    // Creates consistent move of given tables.
    rpc RenameTables(Table.RenameTablesRequest) returns (Table.RenameTablesResponse);

    // Returns information about given table (metadata).
    rpc DescribeTable(Table.DescribeTableRequest) returns (Table.DescribeTableResponse);

    // Explains data query.
    // SessionId of previously created session must be provided.
    rpc ExplainDataQuery(Table.ExplainDataQueryRequest) returns (Table.ExplainDataQueryResponse);
 
    // Prepares data query, returns query id. 
    // SessionId of previously created session must be provided.
    rpc PrepareDataQuery(Table.PrepareDataQueryRequest) returns (Table.PrepareDataQueryResponse);
 
    // Executes data query.
    // SessionId of previously created session must be provided. 
    rpc ExecuteDataQuery(Table.ExecuteDataQueryRequest) returns (Table.ExecuteDataQueryResponse);
 
    // Executes scheme query.
    // SessionId of previously created session must be provided. 
    rpc ExecuteSchemeQuery(Table.ExecuteSchemeQueryRequest) returns (Table.ExecuteSchemeQueryResponse);
 
    // Begins new transaction. 
    rpc BeginTransaction(Table.BeginTransactionRequest) returns (Table.BeginTransactionResponse);
 
    // Commits specified active transaction. 
    rpc CommitTransaction(Table.CommitTransactionRequest) returns (Table.CommitTransactionResponse);
 
    // Performs a rollback of the specified active transaction. 
    rpc RollbackTransaction(Table.RollbackTransactionRequest) returns (Table.RollbackTransactionResponse);

    // Describe supported table options.
    rpc DescribeTableOptions(Table.DescribeTableOptionsRequest) returns (Table.DescribeTableOptionsResponse);

    // Streaming read table
    rpc StreamReadTable(Table.ReadTableRequest) returns (stream Table.ReadTableResponse);

    // Upserts a batch of rows non-transactionally.
    // Returns success only when all rows were successfully upserted. In case of an error some rows might
    // be upserted and some might not.
    rpc BulkUpsert(Table.BulkUpsertRequest) returns (Table.BulkUpsertResponse);
 
    // Executes scan query with streaming result. 
    rpc StreamExecuteScanQuery(Table.ExecuteScanQueryRequest) returns (stream Table.ExecuteScanQueryPartialResponse); 
}