1
#include <drizzled/global.h>
3
#include <drizzled/message/binary_log.h>
8
#include <google/protobuf/io/coded_stream.h>
9
#include <google/protobuf/io/zero_copy_stream_impl.h>
17
using namespace google;
19
static void print_usage_and_exit(char *prog) {
20
const char *name= strrchr(prog, '/');
25
name= "binlog_reader";
26
cerr << "Usage: " << name << " <options>\n"
27
<< " --input name Read queries from file <name> (default: 'log.bin')\n"
34
main(int argc, char *argv[])
37
static struct option options[] = {
38
{ "input", 1 /* has_arg */, NULL, 0 },
42
const char *file_name= "log.bin";
45
while ((ch= getopt_long(argc, argv, "", options, &option_index)) != -1) {
47
print_usage_and_exit(argv[0]);
49
switch (option_index) {
58
print_usage_and_exit(argv[0]);
62
fb.open(file_name, ios::in);
65
protobuf::io::ZeroCopyInputStream* raw_input=
66
new protobuf::io::IstreamInputStream(&is);
67
protobuf::io::CodedInputStream *coded_input=
68
new protobuf::io::CodedInputStream(raw_input);
70
BinaryLog::Event event;
71
while (event.read(coded_input))
72
event.print(std::cout);