574
575
optional CreateTableStatement create_table_statement = 15;
575
576
optional AlterTableStatement alter_table_statement = 16;
576
577
optional DropTableStatement drop_table_statement = 17;
577
optional SetVariableStatement set_variable_statement = 18;
578
optional SetVariableStatement set_variable_statement = 18;
591
592
required TransactionContext transaction_context = 1;
592
593
repeated Statement statement = 2;
593
594
optional Event event = 3;
597
* A single transaction in the database can possibly be represented with
598
* multiple protobuf Transaction messages if the message grows too large.
599
* This can happen if you have a bulk transaction, or a single statement
600
* affecting a very large number of rows, or just a large transaction with
601
* many statements/changes.
603
* For the first two examples, it is likely that the Statement sub-message
604
* itself will get segmented, causing another Transaction message to be
605
* created to hold the rest of the Statement's row changes. In these cases,
606
* it is enough to look at the segment information stored in the Statement
609
* For the last example, the Statement sub-messages may or may not be
610
* segmented, but we could still need to split the Statements up into
611
* multiple Transaction messages to keep the Transaction message size from
612
* growing too large. In this case, the segment information in the Statement
613
* submessages is not helpful if the Statement isn't segmented. We need this
614
* information in the Transaction message itself.
616
* These values should be set appropriately whether or not the Statement
617
* sub-messages are segmented.
619
optional uint32 segment_id = 4; /* Segment number of the Transaction msg */
620
optional bool end_segment = 5; /* FALSE if Transaction msg is split into multiples */