~drizzle-trunk/drizzle/development

324.1.1 by Mats Kindahl
Adding specification of a simple protobuf-based binary log format,
1
package BinaryLog;
919.2.5 by Monty Taylor
Changed protos to be optmized for speed. INCOMPATIBLE CHANGE - .dfe files created prior to this will no longer work.
2
option optimize_for = SPEED;
324.1.1 by Mats Kindahl
Adding specification of a simple protobuf-based binary log format,
3
4
// Design goals:
5
6
// - Keep the name of the individual binary logs out of the files. We
7
//   assume that each binary log has a base name (e.g., the name of
8
//   the server) and a sequence number, but we do not want to tie the
9
//   base name
10
11
message Header {
12
  required uint32 server_id = 1;
13
  required uint32 trans_id = 2;
14
  required uint32 seqno = 3;
15
}
16
17
// Start of a binary log. Note that the name 
18
message Start {
19
  required Header header = 1;
20
  required uint32 server_version = 2;
21
  required string server_signature = 3;
22
}
23
24
// Chain a binary log to the next binary log
25
message Chain {
26
  required Header header = 1;
27
  required uint32 next = 2;            // Sequence number of next file
28
}
29
30
message Query {
31
  // Assignments to variables that are part of the query
32
  message Variable {
33
    required string name = 1;
919.2.3 by Monty Taylor
Changed two proto files so that we can stop skipping warnings on protobuf code.
34
    required string val = 2;
324.1.1 by Mats Kindahl
Adding specification of a simple protobuf-based binary log format,
35
    // Character set?
36
  }
37
38
  required Header header = 1;
39
  repeated Variable variable = 3;
40
  required string query = 2;
41
}
42
43
message Commit {
44
  required Header header = 1;
45
}
46
47
message Rollback {
48
  required Header header = 1;
49
}
50
51
52
53