Yes I only have one version on there.

If you rebuild a different version and say make install ... surely it 
should overwrite the previously installed headers and lib right?

Ok I am going to make a fresh installation on Ubuntu and test if protoc is 
on it. If not I will carry on with my script which I will paste here as 
well.
I am going to install version 3.13.0

Then give the results.

Thanks

On Tuesday, August 25, 2020 at 5:29:55 PM UTC+2 [email protected] wrote:

> I still suspect that multiple protobuf versions are being mixed somehow. 
> Are you sure that your virtualbox installation didn't install protobuf?
>
> On Tue, Aug 25, 2020 at 1:03 AM Test Last <[email protected]> wrote:
>
>> Hi 
>>
>> To try and minimise this sort of thing I installed a brand new virtual 
>> box and compiled it on there.
>> Installing only what I need. The errors changed slightly so I think you 
>> are right about that.
>>
>> However in an attempt to solve the issue I got 3.13.0 and this error was 
>> actually generated from that.
>> Any ideas I can try or more debug info I can give you?
>>
>> Thanks
>>
>> On Tuesday, August 25, 2020 at 12:25:35 AM UTC+2 [email protected] 
>> wrote:
>>
>>> I suspect that your build is mixing your downloaded 3.12.3 protobuf 
>>> source with a different protobuf version installed by your distro's package 
>>> manager. I would recommend making sure that your project is only compiling 
>>> against one version of protobuf. Also, I don't think this is related but 
>>> you might want to use 3.13.0 or 3.12.4 instead of 3.12.3. We made a mistake 
>>> with 3.12.3 and published tar.gz files on the GitHub release page that were 
>>> generated from the wrong Git commit.
>>>
>>> On Mon, Aug 24, 2020 at 1:56 PM Test Last <[email protected]> wrote:
>>>
>>>> Hi everyone
>>>>
>>>> I ported a ODBC Driver that works in an RPC fashion from windows to 
>>>> linux.
>>>> The port was actually quite trivial since the code was already Cross OS 
>>>> Friendly.
>>>> The protobuf has never been an issue on Windows side. The protobuf 
>>>> package was V3.12.3 and was also installed by visual studio.
>>>>
>>>> However when I download Protobuf C++ and compile them on both Ubuntu 
>>>> and CentOS. And compile my program I get strange errors ALWAYS resulting 
>>>> from "repeated_field.h. 
>>>> Sometimes the error is on line 1750 and other times its on 1744 but no 
>>>> matter what version I compile or what OS I use it just never seems to want 
>>>> to process anything that needs to use "repeated_field.h" . I will paste my 
>>>> backtrace and also my ldd of the driver. With the makefile I use to 
>>>> compile 
>>>> the protobufs.
>>>>
>>>> This is a backtrace of a string of data that needs to be parsed. This 
>>>> always breaks.
>>>> The class its trying to parse into is -> ExecuteResponse : Please check 
>>>> the proto files.
>>>> This is the backtrace.
>>>>
>>>> Program received signal SIGSEGV, Segmentation fault. 
>>>> 0x00007ffff6369cc4 in 
>>>> google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField<ColumnValue>::TypeHandler>
>>>>  
>>>> (this=0x68e8d0, prototype=0x0) 
>>>>    at /usr/local/include/google/protobuf/repeated_field.h:1744 
>>>> 1744      if (rep_ != NULL && current_size_ < rep_->allocated_size) { 
>>>> (gdb) backtrace 
>>>> #0  0x00007ffff6369cc4 in 
>>>> google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField<ColumnValue>::TypeHandler>
>>>>  
>>>> (this=0x68e8d0, prototype=0x0) 
>>>>    at /usr/local/include/google/protobuf/repeated_field.h:1744 
>>>> #1  0x00007ffff6366e39 in 
>>>> google::protobuf::RepeatedPtrField<ColumnValue>::Add (this=0x68e8d0) at 
>>>> /usr/local/include/google/protobuf/repeated_field.h:2195 
>>>> #2  0x00007ffff63646fa in Row::_internal_add_value (this=0x68e8c0) at 
>>>> common.pb.h:5781 
>>>> #3  0x00007ffff635697f in Row::_InternalParse (this=0x68e8c0,  
>>>>    ptr=0x67c5f0 "*\n\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\"\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\n,\n\024\b\025\032\020a***oum.br\"\024\b\025\032
>>>> \020a***com.br
>>>> \n\030\n\n\b\025\032\006Brazil\"\n\b\025\032\006Brazil\n\026\n\t\b\032\032\005\063\067.62\"\t\b\032\032\005\063\067.62\032\234\001\n*\n\023\b\025\032\017Edua"
>>>> , '*' <repeats 11 times>, "\"\023\b\025\032\017Edua", '*' <repeats 11 
>>>> times>, "\n<\n\034\b\025\032\030e*****"..., ctx=0x7fffffffce30) at 
>>>> common.pb.cc:3927 
>>>> #4  0x00007ffff6367db6 in 
>>>> google::protobuf::internal::ParseContext::ParseMessage<Row> 
>>>> (this=0x7fffffffce30, msg=0x68e8c0,  
>>>>    ptr=0x67c5ef "\n*\n\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\"\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\n,\n\024\b\025\032\020a*com.br\"\024\b\025\0
>>>> 32\020a***oom.br
>>>> \n\030\n\n\b\025\032\006Brazil\"\n\b\025\032\006Brazil\n\026\n\t\b\032\032\005\063\067.62\"\t\b\032\032\005\063\067.62\032\234\001\n*\n\023\b\025\032\017Edu
>>>> a", '*' <repeats 11 times>, "\"\023\b\025\032\017Edua", '*' <repeats 11 
>>>> times>, "\n<\n\034\b\025\032\030e****"...) at 
>>>> /usr/local/include/google/protobuf/parse_context.h:614 
>>>> #5  0x00007ffff635596f in Frame::_InternalParse (this=0x68d830,  
>>>>    ptr=0x67c5ed "\214\001\n*\n\023\b\025\032\017Alex", '*' <repeats 11 
>>>> times>, "\"\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\n,\n\024\b\025\032\020a*l.com.br\"\024
>>>> \b\025\032\020aom.br
>>>> \n\030\n\n\b\025\032\006Brazil\"\n\b\025\032\006Brazil\n\026\n\t\b\032\032\005\063\067.62\"\t\b\032\032\005\063\067.62\032\234\001\n*\n\023\b\025\03
>>>> 2\017Edua", '*' <repeats 11 times>, "\"\023\b\025\032\017Edua", '*' 
>>>> <repeats 11 times>, "\n<\n\034\b\025\032\030e**"..., ctx=0x7fffffffce30) 
>>>> at 
>>>> common.pb.cc:3688 
>>>> #6  0x00007ffff63ac758 in 
>>>> google::protobuf::internal::ParseContext::ParseMessage<Frame> 
>>>> (this=0x7fffffffce30, msg=0x68d830,  
>>>>    ptr=0x67c5ea "\020\001\032\214\001\n*\n\023\b\025\032\017Alex", '*' 
>>>> <repeats 11 times>, "\"\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\n,\n\024\b\025\032\020a*l.
>>>> com.br\"\024\b\025\032\020a****l.com.br
>>>> \n\030\n\n\b\025\032\006Brazil\"\n\b\025\032\006Brazil\n\026\n\t\b\032\032\005\063\067.62\"\t\b\032\032\005\063\067.62\032\234\001\n*\n\
>>>> 023\b\025\032\017Edua", '*' <repeats 11 times>, 
>>>> "\"\023\b\025\032\017Edua", '*' <repeats 11 times>, 
>>>> "\n<\n\034\b\025\032\030"...) 
>>>>    at /usr/local/include/google/protobuf/parse_context.h:614 
>>>> #7  0x00007ffff6395e79 in ResultSetResponse::_InternalParse 
>>>> (this=0x674310,  
>>>>    ptr=0x67c5e8 
>>>> "\215\006\020\001\032\214\001\n*\n\023\b\025\032\017Alex", '*' <repeats 11 
>>>> times>, "\"\023\b\025\032\017Alex", '*' <repeats 11 times>, 
>>>> "\n,\n\024\b\025\032\020a*
>>>> **com.br\"\024\b\025\032\020a*om.br
>>>> \n\030\n\n\b\025\032\006Brazil\"\n\b\025\032\006Brazil\n\026\n\t\b\032\032\005\063\067.62\"\t\b\032\032\005\063\067.62\032\234\0
>>>> 01\n*\n\023\b\025\032\017Edua", '*' <repeats 11 times>, 
>>>> "\"\023\b\025\032\017Edua", '*' <repeats 11 times>, "\n<\n\034\b\025"..., 
>>>> ctx=0x7fffffffce30) at response.pb.cc:788 
>>>> #8  0x00007ffff63aca34 in 
>>>> google::protobuf::internal::ParseContext::ParseMessage<ResultSetResponse> 
>>>> (this=0x7fffffffce30, msg=0x674310,  
>>>>    ptr=0x67c4a3 "\n\b0pOR9266\020B\030\001\"\263\002\nJ 
>>>> \001\060\001@\377\001J\bfullnameR\bfullname`\377\001z\005Spark\200\001\001\232\001\020java.lang.String\242\001\f\b\f\022\
>>>> 006STRING\030\025\nF\b\001 
>>>> \001\060\001@\377\001J\005emailR\005email`\377\001z\005Spark\200\001\001\232\001\020java.lang.String\242\001\f\b\f\022\006STRING\030\025\nJ\b\002
>>>>  
>>>> \001\
>>>> 060\001@\377\001J\acountryR\acountry`\377\001z\005S"...) at 
>>>> /usr/local/include/google/protobuf/parse_context.h:614 
>>>> #9  0x00007ffff6397670 in ExecuteResponse::_InternalParse 
>>>> (this=0x7fffffffd300,  
>>>>    ptr=0x67c4a1 "\205\t\n\b0pOR9266\020B\030\001\"\263\002\nJ 
>>>> \001\060\001@\377\001J\bfullnameR\bfullname`\377\001z\005Spark\200\001\001\232\001\020java.lang.String\242\001\f\b\
>>>> f\022\006STRING\030\025\nF\b\001 
>>>> \001\060\001\377\001J\005emailR\005email`\377\001z\005Spark\200\001\001\232\001\020java.lang.String\242\001\f\b\f\022\006STRING\030\025\nJ\b\002
>>>> \001\060\001\377\001J\acountryR\acountry`\377\001z"..., 
>>>> ctx=0x7fffffffce30) at response.pb.cc:1135 
>>>> #10 0x00007ffff55350a0 in 
>>>> google::protobuf::internal::MergeFromImpl<false> (input=..., 
>>>> msg=0x7fffffffd300, parse_flags=google::protobuf::MessageLite::kParse) 
>>>>    at ./google/protobuf/parse_context.h:224 
>>>> #11 0x00007ffff62ad4b7 in 
>>>> proto::helper::parseNonStream<ExecuteResponse> (inc=0x7fffffffd0f0, 
>>>> outClass=0x7fffffffd300) at transProto.h:32 
>>>> #12 0x00007ffff62a88b6 in ConnectEngine::PrepareAndExecuteReq 
>>>> (this=0x671170, query="select * from VidDemo ", 
>>>> PERResponse=0x7fffffffd300, 
>>>> maxRows=9223372036854775807,  
>>>>    frameMaxSize=2147483647 <(214)%20748-3647>, _statementId=66) at 
>>>> ConnectEngine.cpp:639 
>>>> #13 0x00007ffff62b462c in Consolidation::executeQuery (this=0x6710b0, 
>>>> query="select * from VidDemo ") at Consolidation.cpp:173 
>>>> #14 0x00007ffff62f3f9e in Statement::requestNextPackOfResultSets 
>>>> (this=0x68bfe0, mutator=...) at statement.cpp:215
>>>>
>>>> //THIS IS MY MAKEFILE
>>>>
>>>> LDFLAGS = -L/usr/local/lib `pkg-config --libs protobuf grpc++`\
>>>> -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\
>>>> -ldl
>>>>
>>>> CXX = g++
>>>> CPPFLAGS += `pkg-config --cflags protobuf grpc`
>>>> CXXFLAGS += -std=c++14
>>>>
>>>> DEBUG = -g
>>>>
>>>> GRPC_CPP_PLUGIN = grpc_cpp_plugin
>>>> GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
>>>>
>>>> all: common request response common.o request.o response.o
>>>>
>>>> common:
>>>> protoc -I=. --cpp_out=. ./common.proto
>>>>
>>>> request:
>>>> protoc -I=. --cpp_out=. ./request.proto
>>>>
>>>> response:
>>>> protoc -I=. --cpp_out=. ./response.proto
>>>>
>>>> common.o: common.pb.cc
>>>> $(CXX) $(DEBUG) -fPIC -c $^ $(LDFLAGS) -o $@ $(CXXFLAGS)
>>>>
>>>> request.o: request.pb.cc
>>>> $(CXX) $(DEBUG) -fPIC -c $^ $(LDFLAGS) -o $@ $(CXXFLAGS)
>>>>
>>>> response.o: response.pb.cc
>>>> $(CXX) $(DEBUG) -fPIC -c $^ $(LDFLAGS) -o $@ $(CXXFLAGS)
>>>>
>>>> clean:
>>>> rm -f *.o *.pb.cc *.pb.h client
>>>>
>>>> //This is my 3 Proto files. Its part of the Calcite Avatica package.
>>>> //COMMON.PROTO
>>>> syntax = "proto3";
>>>> //option cc_generic_services = true;
>>>> option cc_generic_services = false;
>>>>
>>>> //option csharp_namespace = "Calcite.Avatica";
>>>>
>>>> // Details about a connection
>>>> message ConnectionProperties {
>>>> bool is_dirty = 1;
>>>> bool auto_commit = 2;
>>>> bool has_auto_commit = 7; // field is a Boolean, need to discern null 
>>>> and default value
>>>> bool read_only = 3;
>>>> bool has_read_only = 8; // field is a Boolean, need to discern null and 
>>>> default value
>>>> uint32 transaction_isolation = 4;
>>>> string catalog = 5;
>>>> string schema = 6;
>>>> }
>>>>
>>>> // Statement handle
>>>> message StatementHandle {
>>>> string connection_id = 1;
>>>> uint32 id = 2;
>>>> Signature signature = 3;
>>>> }
>>>>
>>>> // Results of preparing a statement
>>>> message Signature {
>>>> repeated ColumnMetaData columns = 1;
>>>> string sql = 2;
>>>> repeated AvaticaParameter parameters = 3;
>>>> CursorFactory cursor_factory = 4;
>>>> StatementType statementType = 5;
>>>> }
>>>>
>>>> // Has to be consistent with Meta.StatementType
>>>> enum StatementType {
>>>> SELECT = 0;
>>>> INSERT = 1;
>>>> UPDATE = 2;
>>>> DELETE = 3;
>>>> UPSERT = 4;
>>>> MERGE = 5;
>>>> OTHER_DML = 6;
>>>> CREATE = 7;
>>>> DROP = 8;
>>>> ALTER = 9;
>>>> OTHER_DDL = 10;
>>>> CALL = 11;
>>>> }
>>>>
>>>> message ColumnMetaData {
>>>> uint32 ordinal = 1;
>>>> bool auto_increment = 2;
>>>> bool case_sensitive = 3;
>>>> bool searchable = 4;
>>>> bool currency = 5;
>>>> uint32 nullable = 6;
>>>> bool signed = 7;
>>>> uint32 display_size = 8;
>>>> string label = 9;
>>>> string column_name = 10;
>>>> string schema_name = 11;
>>>> uint32 precision = 12;
>>>> uint32 scale = 13;
>>>> string table_name = 14;
>>>> string catalog_name = 15;
>>>> bool read_only = 16;
>>>> bool writable = 17;
>>>> bool definitely_writable = 18;
>>>> string column_class_name = 19;
>>>> AvaticaType type = 20;
>>>> }
>>>>
>>>> enum Rep {
>>>> PRIMITIVE_BOOLEAN = 0;
>>>> PRIMITIVE_BYTE = 1;
>>>> PRIMITIVE_CHAR = 2;
>>>> PRIMITIVE_SHORT = 3;
>>>> PRIMITIVE_INT = 4;
>>>> PRIMITIVE_LONG = 5;
>>>> PRIMITIVE_FLOAT = 6;
>>>> PRIMITIVE_DOUBLE = 7;
>>>> BOOLEAN = 8;
>>>> BYTE = 9;
>>>> CHARACTER = 10;
>>>> SHORT = 11;
>>>> INTEGER = 12;
>>>> LONG = 13;
>>>> FLOAT = 14;
>>>> DOUBLE = 15;
>>>> BIG_INTEGER = 25;
>>>> BIG_DECIMAL = 26;
>>>> JAVA_SQL_TIME = 16;
>>>> JAVA_SQL_TIMESTAMP = 17;
>>>> JAVA_SQL_DATE = 18;
>>>> JAVA_UTIL_DATE = 19;
>>>> BYTE_STRING = 20;
>>>> STRING = 21;
>>>> NUMBER = 22;
>>>> OBJECT = 23;
>>>> NULL = 24;
>>>> ARRAY = 27;
>>>> STRUCT = 28;
>>>> MULTISET = 29;
>>>> }
>>>>
>>>> // Base class for a column type
>>>> message AvaticaType {
>>>> uint32 id = 1;
>>>> string name = 2;
>>>> Rep rep = 3;
>>>>
>>>> repeated ColumnMetaData columns = 4; // Only present when name = STRUCT
>>>> AvaticaType component = 5; // Only present when name = ARRAY
>>>> }
>>>>
>>>> // Metadata for a parameter
>>>> message AvaticaParameter {
>>>> bool signed = 1;
>>>> uint32 precision = 2;
>>>> uint32 scale = 3;
>>>> uint32 parameter_type = 4;
>>>> string type_name = 5;
>>>> string class_name = 6;
>>>> string name = 7;
>>>> }
>>>>
>>>> // Information necessary to convert an Iterable into a Calcite Cursor
>>>> message CursorFactory {
>>>> enum Style {
>>>> OBJECT = 0;
>>>> RECORD = 1;
>>>> RECORD_PROJECTION = 2;
>>>> ARRAY = 3;
>>>> LIST = 4;
>>>> MAP = 5;
>>>> }
>>>>
>>>> Style style = 1;
>>>> string class_name = 2;
>>>> repeated string field_names = 3;
>>>> }
>>>>
>>>> // A collection of rows
>>>> message Frame {
>>>> uint64 offset = 1;
>>>> bool done = 2;
>>>> repeated Row rows = 3;
>>>> }
>>>>
>>>> // A row is a collection of values
>>>> message Row {
>>>> repeated ColumnValue value = 1;
>>>> }
>>>>
>>>> // Database property, list of functions the database provides for a 
>>>> certain operation
>>>> message DatabaseProperty {
>>>> string name = 1;
>>>> repeated string functions = 2;
>>>> }
>>>>
>>>> // Message which encapsulates another message to support a single RPC 
>>>> endpoint
>>>> message WireMessage {
>>>> string name = 1;
>>>> bytes wrapped_message = 2;
>>>> }
>>>>
>>>> // A value might be a TypedValue or an Array of TypedValue's
>>>> message ColumnValue {
>>>> repeated TypedValue value = 1; // deprecated, use array_value or 
>>>> scalar_value
>>>> repeated TypedValue array_value = 2;
>>>> bool has_array_value = 3; // Is an array value set?
>>>> TypedValue scalar_value = 4;
>>>> }
>>>>
>>>> // Generic wrapper to support any SQL type. Struct-like to work around 
>>>> no polymorphism construct.
>>>> message TypedValue {
>>>> Rep type = 1; // The actual type that was serialized in the general 
>>>> attribute below
>>>>
>>>> bool bool_value = 2; // boolean
>>>> string string_value = 3; // char/varchar
>>>> sint64 number_value = 4; // var-len encoding lets us shove anything 
>>>> from byte to long
>>>> // includes numeric types and date/time types.
>>>> bytes bytes_value = 5; // binary/varbinary
>>>> double double_value = 6; // big numbers
>>>> bool null = 7; // a null object
>>>>
>>>> repeated TypedValue array_value = 8; // The Array
>>>> Rep component_type = 9; // If an Array, the representation for the 
>>>> array values
>>>>
>>>> bool implicitly_null = 10; // Differentiate between explicitly null 
>>>> (user-set) and implicitly null
>>>> // (un-set by the user)
>>>> }
>>>>
>>>> // The severity of some unexpected outcome to an operation.
>>>> // Protobuf enum values must be unique across all other enums
>>>> enum Severity {
>>>> UNKNOWN_SEVERITY = 0;
>>>> FATAL_SEVERITY = 1;
>>>> ERROR_SEVERITY = 2;
>>>> WARNING_SEVERITY = 3;
>>>> }
>>>>
>>>> // Enumeration corresponding to DatabaseMetaData operations
>>>> enum MetaDataOperation {
>>>> GET_ATTRIBUTES = 0;
>>>> GET_BEST_ROW_IDENTIFIER = 1;
>>>> GET_CATALOGS = 2;
>>>> GET_CLIENT_INFO_PROPERTIES = 3;
>>>> GET_COLUMN_PRIVILEGES = 4;
>>>> GET_COLUMNS = 5;
>>>> GET_CROSS_REFERENCE = 6;
>>>> GET_EXPORTED_KEYS = 7;
>>>> GET_FUNCTION_COLUMNS = 8;
>>>> GET_FUNCTIONS = 9;
>>>> GET_IMPORTED_KEYS = 10;
>>>> GET_INDEX_INFO = 11;
>>>> GET_PRIMARY_KEYS = 12;
>>>> GET_PROCEDURE_COLUMNS = 13;
>>>> GET_PROCEDURES = 14;
>>>> GET_PSEUDO_COLUMNS = 15;
>>>> GET_SCHEMAS = 16;
>>>> GET_SCHEMAS_WITH_ARGS = 17;
>>>> GET_SUPER_TABLES = 18;
>>>> GET_SUPER_TYPES = 19;
>>>> GET_TABLE_PRIVILEGES = 20;
>>>> GET_TABLES = 21;
>>>> GET_TABLE_TYPES = 22;
>>>> GET_TYPE_INFO = 23;
>>>> GET_UDTS = 24;
>>>> GET_VERSION_COLUMNS = 25;
>>>> }
>>>>
>>>> // Represents the breadth of arguments to DatabaseMetaData functions
>>>> message MetaDataOperationArgument {
>>>> enum ArgumentType {
>>>> STRING = 0;
>>>> BOOL = 1;
>>>> INT = 2;
>>>> REPEATED_STRING = 3;
>>>> REPEATED_INT = 4;
>>>> NULL = 5;
>>>> }
>>>>
>>>> string string_value = 1;
>>>> bool bool_value = 2;
>>>> sint32 int_value = 3;
>>>> repeated string string_array_values = 4;
>>>> repeated sint32 int_array_values = 5;
>>>> ArgumentType type = 6;
>>>> }
>>>>
>>>> enum StateType {
>>>> SQL = 0;
>>>> METADATA = 1;
>>>> }
>>>>
>>>> message QueryState {
>>>> StateType type = 1;
>>>> string sql = 2;
>>>> MetaDataOperation op = 3;
>>>> repeated MetaDataOperationArgument args = 4;
>>>> bool has_args = 5;
>>>> bool has_sql = 6;
>>>> bool has_op = 7;
>>>> }
>>>>
>>>> //REQUESTER.PROTO
>>>> syntax = "proto3";
>>>> option cc_generic_services = false;
>>>>
>>>> //option java_package = "org.apache.calcite.avatica.proto";
>>>>
>>>> import "common.proto";
>>>>
>>>> // Request for Meta#getCatalogs()
>>>> message CatalogsRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request for Meta#getDatabaseProperties()
>>>> message DatabasePropertyRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request for Meta#getSchemas(String, 
>>>> org.apache.calcite.avatica.Meta.Pat)}
>>>> message SchemasRequest {
>>>> string catalog = 1;
>>>> string schema_pattern = 2;
>>>> string connection_id = 3;
>>>> }
>>>>
>>>> // Request for Request for Meta#getTables(String, 
>>>> org.apache.calcite.avatica.Meta.Pat,
>>>> // org.apache.calcite.avatica.Meta.Pat, java.util.List)
>>>> message TablesRequest {
>>>> string catalog = 1;
>>>> string schema_pattern = 2;
>>>> string table_name_pattern = 3;
>>>> repeated string type_list = 4;
>>>> bool has_type_list = 6; // Having an empty type_list is distinct from a 
>>>> null type_list
>>>> string connection_id = 7;
>>>> }
>>>>
>>>> // Request for Meta#getTableTypes()
>>>> message TableTypesRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request for Meta#getColumns(String, 
>>>> org.apache.calcite.avatica.Meta.Pat,
>>>> // org.apache.calcite.avatica.Meta.Pat, 
>>>> org.apache.calcite.avatica.Meta.Pat).
>>>> message ColumnsRequest {
>>>> string catalog = 1;
>>>> string schema_pattern = 2;
>>>> string table_name_pattern = 3;
>>>> string column_name_pattern = 4;
>>>> string connection_id = 5;
>>>> }
>>>>
>>>> // Request for Meta#getTypeInfo()
>>>> message TypeInfoRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request for Meta#prepareAndExecute(Meta.StatementHandle, String, 
>>>> long, Meta.PrepareCallback)
>>>> message PrepareAndExecuteRequest {
>>>> string connection_id = 1;
>>>> string sql = 2;
>>>> uint64 max_row_count = 3; // Deprecated
>>>> uint32 statement_id = 4;
>>>> int64 max_rows_total = 5; // The maximum number of rows that will be 
>>>> allowed for this query
>>>> int32 first_frame_max_size = 6; // The maximum number of rows that will 
>>>> be returned in the
>>>> // first Frame returned for this query.
>>>> }
>>>>
>>>> // Request for Meta.prepare(Meta.ConnectionHandle, String, long)
>>>> message PrepareRequest {
>>>> string connection_id = 1;
>>>> string sql = 2;
>>>> uint64 max_row_count = 3; // Deprecated
>>>> int64 max_rows_total = 4; // The maximum number of rows that will be 
>>>> allowed for this query
>>>> }
>>>>
>>>> // Request for Meta#fetch(Meta.StatementHandle, List, long, int)
>>>> message FetchRequest {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> uint64 offset = 3;
>>>> uint32 fetch_max_row_count = 4; // Maximum number of rows to be 
>>>> returned in the frame. Negative means no limit. Deprecated!
>>>> int32 frame_max_size = 5;
>>>> }
>>>>
>>>> // Request for Meta#createStatement(Meta.ConnectionHandle)
>>>> message CreateStatementRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request for Meta#closeStatement(Meta.StatementHandle)
>>>> message CloseStatementRequest {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> }
>>>>
>>>> // Request for Meta#openConnection(Meta.ConnectionHandle, Map<String, 
>>>> String>)
>>>> message OpenConnectionRequest {
>>>> string connection_id = 1;
>>>> map<string, string> info = 2;
>>>> }
>>>>
>>>> // Request for Meta#closeConnection(Meta.ConnectionHandle)
>>>> message CloseConnectionRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> message ConnectionSyncRequest {
>>>> string connection_id = 1;
>>>> ConnectionProperties conn_props = 2;
>>>> }
>>>>
>>>> // Request for Meta#execute(Meta.ConnectionHandle, list, long)
>>>> message ExecuteRequest {
>>>> StatementHandle statementHandle = 1;
>>>> repeated TypedValue parameter_values = 2;
>>>> uint64 deprecated_first_frame_max_size = 3; // Deprecated, use the 
>>>> signed int instead.
>>>> bool has_parameter_values = 4;
>>>> int32 first_frame_max_size = 5; // The maximum number of rows to return 
>>>> in the first Frame
>>>> }
>>>>
>>>>
>>>> message SyncResultsRequest {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> QueryState state = 3;
>>>> uint64 offset = 4;
>>>> }
>>>>
>>>> // Request to invoke a commit on a Connection
>>>> message CommitRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request to invoke rollback on a Connection
>>>> message RollbackRequest {
>>>> string connection_id = 1;
>>>> }
>>>>
>>>> // Request to prepare and execute a collection of sql statements.
>>>> message PrepareAndExecuteBatchRequest {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> repeated string sql_commands = 3;
>>>> }
>>>>
>>>> // Each command is a list of TypedValues
>>>> message UpdateBatch {
>>>> repeated TypedValue parameter_values = 1;
>>>> }
>>>>
>>>> message ExecuteBatchRequest {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> repeated UpdateBatch updates = 3; // A batch of updates is a 
>>>> list<list<typevalue>>
>>>> }
>>>>
>>>> //RESPONSE.PROTO
>>>> syntax = "proto3";
>>>>
>>>> //option java_package = "org.apache.calcite.avatica.proto";
>>>>
>>>> import "common.proto";
>>>>
>>>> // Response that contains a result set.
>>>> message ResultSetResponse {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> bool own_statement = 3;
>>>> Signature signature = 4;
>>>> Frame first_frame = 5;
>>>> uint64 update_count = 6; // -1 for normal result sets, else this 
>>>> response contains a dummy result set
>>>> // with no signature nor other data.
>>>> RpcMetadata metadata = 7;
>>>> }
>>>>
>>>> // Response to PrepareAndExecuteRequest
>>>> message ExecuteResponse {
>>>> repeated ResultSetResponse results = 1;
>>>> bool missing_statement = 2; // Did the request fail because of 
>>>> no-cached statement
>>>> RpcMetadata metadata = 3;
>>>> }
>>>>
>>>> // Response to PrepareRequest
>>>> message PrepareResponse {
>>>> StatementHandle statement = 1;
>>>> RpcMetadata metadata = 2;
>>>> }
>>>>
>>>> // Response to FetchRequest
>>>> message FetchResponse {
>>>> Frame frame = 1;
>>>> bool missing_statement = 2; // Did the request fail because of 
>>>> no-cached statement
>>>> bool missing_results = 3; // Did the request fail because of a 
>>>> cached-statement w/o ResultSet
>>>> RpcMetadata metadata = 4;
>>>> }
>>>>
>>>> // Response to CreateStatementRequest
>>>> message CreateStatementResponse {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> RpcMetadata metadata = 3;
>>>> }
>>>>
>>>> // Response to CloseStatementRequest
>>>> message CloseStatementResponse {
>>>> RpcMetadata metadata = 1;
>>>> }
>>>>
>>>> // Response to OpenConnectionRequest {
>>>> message OpenConnectionResponse {
>>>> RpcMetadata metadata = 1;
>>>> }
>>>>
>>>> // Response to CloseConnectionRequest {
>>>> message CloseConnectionResponse {
>>>> RpcMetadata metadata = 1;
>>>> }
>>>>
>>>> // Response to ConnectionSyncRequest
>>>> message ConnectionSyncResponse {
>>>> ConnectionProperties conn_props = 1;
>>>> RpcMetadata metadata = 2;
>>>> }
>>>>
>>>> message DatabasePropertyElement {
>>>> DatabaseProperty key = 1;
>>>> TypedValue value = 2;
>>>> RpcMetadata metadata = 3;
>>>> }
>>>>
>>>> // Response for Meta#getDatabaseProperties()
>>>> message DatabasePropertyResponse {
>>>> repeated DatabasePropertyElement props = 1;
>>>> RpcMetadata metadata = 2;
>>>> }
>>>>
>>>> // Send contextual information about some error over the wire from the 
>>>> server.
>>>> message ErrorResponse {
>>>> repeated string exceptions = 1; // exception stacktraces, many for 
>>>> linked exceptions.
>>>> bool has_exceptions = 7; // are there stacktraces contained?
>>>> string error_message = 2; // human readable description
>>>> Severity severity = 3;
>>>> uint32 error_code = 4; // numeric identifier for error
>>>> string sql_state = 5; // five-character standard-defined value
>>>> RpcMetadata metadata = 6;
>>>> }
>>>>
>>>> message SyncResultsResponse {
>>>> bool missing_statement = 1; // Server doesn't have the statement with 
>>>> the ID from the request
>>>> bool more_results = 2; // Should the client fetch() to get more results
>>>> RpcMetadata metadata = 3;
>>>> }
>>>>
>>>> // Generic metadata for the server to return with each response.
>>>> message RpcMetadata {
>>>> string server_address = 1; // The host:port of the server
>>>> }
>>>>
>>>> // Response to a commit request
>>>> message CommitResponse {
>>>>
>>>> }
>>>>
>>>> // Response to a rollback request
>>>> message RollbackResponse {
>>>>
>>>> }
>>>>
>>>> // Response to a batch update request
>>>> message ExecuteBatchResponse {
>>>> string connection_id = 1;
>>>> uint32 statement_id = 2;
>>>> repeated uint64 update_counts = 3;
>>>> bool missing_statement = 4; // Did the request fail because of 
>>>> no-cached statement
>>>> RpcMetadata metadata = 5;
>>>> }
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Protocol Buffers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/protobuf/98864904-d137-419a-901c-917727bddbe6n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/protobuf/98864904-d137-419a-901c-917727bddbe6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Protocol Buffers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/protobuf/0233414f-3b95-4d79-8001-cbdc2724e630n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/protobuf/0233414f-3b95-4d79-8001-cbdc2724e630n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/cc700778-8c37-4c1a-9f09-0a345c6abd8fn%40googlegroups.com.

Reply via email to