syntax = "proto3"; package sqlite_commands; // TODO: Rename Result -> Response message ProtoQueryRequest { string sql = 1; ProtoQueuedParameters queued_parameters = 2; } message ProtoQueuedParameters { oneof queued_parameters { ProtoQueuedIndexedParameters queued_indexed_parameters = 1; ProtoQueuedNamedParameters queued_named_parameters = 2; } } message ProtoQueuedIndexedParameters { repeated ProtoIndexedParameters queued_indexed_parameters = 1; } message ProtoQueuedNamedParameters { repeated ProtoNamedParameters queued_named_parameters = 1; } message ProtoIndexedParameters { repeated ProtoValue parameters = 1; } message ProtoNamedParameters { repeated ProtoNamedParameter parameters = 1; } message ProtoNamedParameter { string name = 1; ProtoValue value = 2; } message ProtoValue { oneof value { /// The value is a `NULL` value. ProtoNull null = 1; /// The value is a signed integer. int64 integer = 2; /// The value is a floating point number. double real = 3; /// The value is a text string. string text = 4; /// The value is a blob of data bytes blob = 5; } } message ProtoNull { } message ProtoQueryResponse { repeated ProtoQueryResultSet query_result_sets = 1; } message ProtoQueryResultSet { repeated ProtoQueryResultRow rows = 1; } message ProtoQueryResultRow { repeated ProtoValue row = 1; } message ProtoExecuteRequest { string sql = 1; ProtoQueuedParameters queued_parameters = 2; } message ProtoExecuteResponse { repeated ProtoExecuteResult execute_results = 1; } message ProtoExecuteResult { uint64 changes = 1; } message ProtoBulkQueryRequest { repeated ProtoQueryRequest queries = 1; } message ProtoBulkQueryResponse { repeated ProtoQueryResponse query_responses = 1; } message ProtoBulkExecuteRequest { repeated ProtoExecuteRequest executes = 1; } message ProtoBulkExecuteResponse { repeated ProtoExecuteResponse execute_responses = 1; } message ProtoSqliteRequest { oneof request { ProtoSqliteQuery query = 1; ProtoSqliteExecute execute = 2; } } message ProtoSqliteResponse { oneof response { ProtoSqliteQueryResponse query = 1; ProtoSqliteExecuteResponse execute = 2; } } message ProtoSqliteQuery { oneof query { ProtoQueryRequest single = 1; ProtoBulkQueryRequest bulk = 2; } } message ProtoSqliteQueryResponse { oneof response { ProtoQueryResponse single = 1; ProtoBulkQueryResponse bulk = 2; } } message ProtoSqliteExecute { oneof execute { ProtoExecuteRequest single = 1; ProtoBulkExecuteRequest bulk = 2; } } message ProtoSqliteExecuteResponse { oneof response { ProtoExecuteResponse single = 1; ProtoBulkExecuteResponse bulk = 2; } }