ruby-binlog 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -0
- data/ext/Makefile +21 -21
- data/ext/binlog.so +0 -0
- data/ext/ruby_binlog.h +6 -0
- data/ext/ruby_binlog.o +0 -0
- data/ext/ruby_binlog_event.h +2 -0
- data/ext/ruby_binlog_event.o +0 -0
- data/ext/ruby_binlog_format_event.o +0 -0
- data/ext/ruby_binlog_get_field_type_str.cpp +41 -0
- data/ext/ruby_binlog_get_field_type_str.o +0 -0
- data/ext/ruby_binlog_incident_event.o +0 -0
- data/ext/ruby_binlog_int_var_event.o +0 -0
- data/ext/ruby_binlog_query_event.o +0 -0
- data/ext/ruby_binlog_rotate_event.o +0 -0
- data/ext/ruby_binlog_row_event.cpp +22 -0
- data/ext/ruby_binlog_row_event.o +0 -0
- data/ext/ruby_binlog_table_map_event.cpp +23 -7
- data/ext/ruby_binlog_table_map_event.o +0 -0
- data/ext/ruby_binlog_unimplemented_event.o +0 -0
- data/ext/ruby_binlog_user_var_event.o +0 -0
- data/ext/ruby_binlog_xid_event.o +0 -0
- data/ext/test.rb +1 -0
- metadata +5 -3
    
        data/README
    CHANGED
    
    
    
        data/ext/Makefile
    CHANGED
    
    | @@ -9,33 +9,33 @@ hdrdir = $(topdir) | |
| 9 9 | 
             
            VPATH = $(srcdir):$(topdir):$(hdrdir)
         | 
| 10 10 | 
             
            prefix = $(DESTDIR)/usr
         | 
| 11 11 | 
             
            exec_prefix = $(DESTDIR)/usr
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            localedir = $(datarootdir)/locale
         | 
| 14 | 
            -
            vendordir = $(DESTDIR)/usr/lib/ruby
         | 
| 15 | 
            -
            datadir = $(DESTDIR)/usr/share
         | 
| 16 | 
            -
            sitearchdir = $(libdir)/ruby/site_ruby/$(ruby_version)/$(sitearch)
         | 
| 17 | 
            -
            libexecdir = $(DESTDIR)/usr/libexec
         | 
| 18 | 
            -
            psdir = $(docdir)
         | 
| 12 | 
            +
            localstatedir = $(DESTDIR)/var
         | 
| 19 13 | 
             
            sysconfdir = $(DESTDIR)/etc
         | 
| 20 | 
            -
            bindir = $(DESTDIR)/usr/bin
         | 
| 21 14 | 
             
            includedir = $(DESTDIR)/usr/include
         | 
| 22 | 
            -
             | 
| 15 | 
            +
            sbindir = $(DESTDIR)/usr/sbin
         | 
| 16 | 
            +
            mandir = $(DESTDIR)/usr/share/man
         | 
| 17 | 
            +
            rubylibdir = $(vendordir)/$(ruby_version)
         | 
| 23 18 | 
             
            sitedir = $(DESTDIR)/usr/lib/ruby/site_ruby
         | 
| 24 | 
            -
             | 
| 19 | 
            +
            localedir = $(datarootdir)/locale
         | 
| 20 | 
            +
            dvidir = $(docdir)
         | 
| 21 | 
            +
            docdir = $(datarootdir)/doc/$(PACKAGE)
         | 
| 22 | 
            +
            vendorarchdir = $(libdir)/ruby/$(ruby_version)/$(sitearch)
         | 
| 25 23 | 
             
            sitelibdir = $(sitedir)/$(ruby_version)
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            localstatedir = $(DESTDIR)/var
         | 
| 24 | 
            +
            vendordir = $(DESTDIR)/usr/lib/ruby
         | 
| 28 25 | 
             
            infodir = $(DESTDIR)/usr/share/info
         | 
| 29 | 
            -
             | 
| 26 | 
            +
            htmldir = $(docdir)
         | 
| 27 | 
            +
            pdfdir = $(docdir)
         | 
| 28 | 
            +
            psdir = $(docdir)
         | 
| 29 | 
            +
            sitearchdir = $(libdir)/ruby/site_ruby/$(ruby_version)/$(sitearch)
         | 
| 30 | 
            +
            vendorlibdir = $(vendordir)/$(ruby_version)
         | 
| 30 31 | 
             
            datarootdir = $(prefix)/share
         | 
| 31 | 
            -
            archdir = $(libdir)/ruby/$(ruby_version)/$(sitearch)
         | 
| 32 32 | 
             
            oldincludedir = $(DESTDIR)/usr/include
         | 
| 33 | 
            +
            bindir = $(DESTDIR)/usr/bin
         | 
| 34 | 
            +
            libdir = $(DESTDIR)/usr/lib64
         | 
| 33 35 | 
             
            sharedstatedir = $(DESTDIR)/var/lib
         | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
            pdfdir = $(docdir)
         | 
| 38 | 
            -
            sbindir = $(DESTDIR)/usr/sbin
         | 
| 36 | 
            +
            archdir = $(libdir)/ruby/$(ruby_version)/$(sitearch)
         | 
| 37 | 
            +
            datadir = $(DESTDIR)/usr/share
         | 
| 38 | 
            +
            libexecdir = $(DESTDIR)/usr/libexec
         | 
| 39 39 |  | 
| 40 40 | 
             
            CC = gcc
         | 
| 41 41 | 
             
            LIBRUBY = $(LIBRUBY_SO)
         | 
| @@ -87,8 +87,8 @@ extout_prefix = | |
| 87 87 | 
             
            target_prefix = 
         | 
| 88 88 | 
             
            LOCAL_LIBS = 
         | 
| 89 89 | 
             
            LIBS = $(LIBRUBYARG_SHARED) -lreplication -lstdc++  -lpthread -lrt -ldl -lcrypt -lm   -lc
         | 
| 90 | 
            -
            SRCS = ruby_binlog_xid_event.cpp ruby_binlog_rotate_event.cpp ruby_binlog_format_event.cpp ruby_binlog_user_var_event.cpp ruby_binlog.cpp ruby_binlog_table_map_event.cpp ruby_binlog_row_event.cpp ruby_binlog_event.cpp ruby_binlog_query_event.cpp ruby_binlog_unimplemented_event.cpp ruby_binlog_int_var_event.cpp ruby_binlog_incident_event.cpp
         | 
| 91 | 
            -
            OBJS = ruby_binlog_xid_event.o ruby_binlog_rotate_event.o ruby_binlog_format_event.o ruby_binlog_user_var_event.o ruby_binlog.o ruby_binlog_table_map_event.o ruby_binlog_row_event.o ruby_binlog_event.o ruby_binlog_query_event.o ruby_binlog_unimplemented_event.o ruby_binlog_int_var_event.o ruby_binlog_incident_event.o
         | 
| 90 | 
            +
            SRCS = ruby_binlog_xid_event.cpp ruby_binlog_rotate_event.cpp ruby_binlog_format_event.cpp ruby_binlog_user_var_event.cpp ruby_binlog.cpp ruby_binlog_table_map_event.cpp ruby_binlog_get_field_type_str.cpp ruby_binlog_row_event.cpp ruby_binlog_event.cpp ruby_binlog_query_event.cpp ruby_binlog_unimplemented_event.cpp ruby_binlog_int_var_event.cpp ruby_binlog_incident_event.cpp
         | 
| 91 | 
            +
            OBJS = ruby_binlog_xid_event.o ruby_binlog_rotate_event.o ruby_binlog_format_event.o ruby_binlog_user_var_event.o ruby_binlog.o ruby_binlog_table_map_event.o ruby_binlog_get_field_type_str.o ruby_binlog_row_event.o ruby_binlog_event.o ruby_binlog_query_event.o ruby_binlog_unimplemented_event.o ruby_binlog_int_var_event.o ruby_binlog_incident_event.o
         | 
| 92 92 | 
             
            TARGET = binlog
         | 
| 93 93 | 
             
            DLLIB = $(TARGET).so
         | 
| 94 94 | 
             
            EXTSTATIC = 
         | 
    
        data/ext/binlog.so
    CHANGED
    
    | Binary file | 
    
        data/ext/ruby_binlog.h
    CHANGED
    
    | @@ -23,6 +23,12 @@ | |
| 23 23 |  | 
| 24 24 | 
             
            extern VALUE rb_mBinlog;
         | 
| 25 25 |  | 
| 26 | 
            +
            namespace ruby {
         | 
| 27 | 
            +
            namespace binlog {
         | 
| 28 | 
            +
            const char* get_field_type_str(mysql::system::enum_field_types type);
         | 
| 29 | 
            +
            } // namespace binlog
         | 
| 30 | 
            +
            } // namespace ruby
         | 
| 31 | 
            +
             | 
| 26 32 | 
             
            extern "C" {
         | 
| 27 33 | 
             
            #ifdef _WIN32
         | 
| 28 34 | 
             
            __declspec(dllexport)
         | 
    
        data/ext/ruby_binlog.o
    CHANGED
    
    | Binary file | 
    
        data/ext/ruby_binlog_event.h
    CHANGED
    
    | @@ -92,6 +92,7 @@ struct TableMapEvent : public Event { | |
| 92 92 | 
             
              static VALUE get_db_name(VALUE self);
         | 
| 93 93 | 
             
              static VALUE get_table_name(VALUE self);
         | 
| 94 94 | 
             
              static VALUE get_columns(VALUE self);
         | 
| 95 | 
            +
              static VALUE get_column_types(VALUE self);
         | 
| 95 96 | 
             
              static VALUE get_metadata(VALUE self);
         | 
| 96 97 | 
             
              static VALUE get_null_bits(VALUE self);
         | 
| 97 98 | 
             
            };
         | 
| @@ -109,6 +110,7 @@ struct RowEvent : public Event { | |
| 109 110 | 
             
              static VALUE get_table_id(VALUE self);
         | 
| 110 111 | 
             
              static VALUE get_db_name(VALUE self);
         | 
| 111 112 | 
             
              static VALUE get_table_name(VALUE self);
         | 
| 113 | 
            +
              static VALUE get_column_types(VALUE self);
         | 
| 112 114 | 
             
              static VALUE get_flags(VALUE self);
         | 
| 113 115 | 
             
              static VALUE get_columns_len(VALUE self);
         | 
| 114 116 | 
             
              static VALUE get_null_bits_len(VALUE self);
         | 
    
        data/ext/ruby_binlog_event.o
    CHANGED
    
    | Binary file | 
| Binary file | 
| @@ -0,0 +1,41 @@ | |
| 1 | 
            +
            #include "ruby_binlog.h"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            namespace ruby {
         | 
| 4 | 
            +
            namespace binlog {
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            const char* get_field_type_str(mysql::system::enum_field_types type) {
         | 
| 7 | 
            +
              switch(type) {
         | 
| 8 | 
            +
              case mysql::system::MYSQL_TYPE_DECIMAL:     return "DECIMAL";     break;
         | 
| 9 | 
            +
              case mysql::system::MYSQL_TYPE_TINY:        return "TINY";        break;
         | 
| 10 | 
            +
              case mysql::system::MYSQL_TYPE_SHORT:       return "SHORT";       break;
         | 
| 11 | 
            +
              case mysql::system::MYSQL_TYPE_LONG:        return "LONG";        break;
         | 
| 12 | 
            +
              case mysql::system::MYSQL_TYPE_FLOAT:       return "FLOAT";       break;
         | 
| 13 | 
            +
              case mysql::system::MYSQL_TYPE_DOUBLE:      return "DOUBLE";      break;
         | 
| 14 | 
            +
              case mysql::system::MYSQL_TYPE_NULL:        return "NULL";        break;
         | 
| 15 | 
            +
              case mysql::system::MYSQL_TYPE_TIMESTAMP:   return "TIMESTAMP";   break;
         | 
| 16 | 
            +
              case mysql::system::MYSQL_TYPE_LONGLONG:    return "LONGLONG";    break;
         | 
| 17 | 
            +
              case mysql::system::MYSQL_TYPE_INT24:       return "INT24";       break;
         | 
| 18 | 
            +
              case mysql::system::MYSQL_TYPE_DATE:        return "DATE";        break;
         | 
| 19 | 
            +
              case mysql::system::MYSQL_TYPE_TIME:        return "TIME";        break;
         | 
| 20 | 
            +
              case mysql::system::MYSQL_TYPE_DATETIME:    return "DATETIME";    break;
         | 
| 21 | 
            +
              case mysql::system::MYSQL_TYPE_YEAR:        return "YEAR";        break;
         | 
| 22 | 
            +
              case mysql::system::MYSQL_TYPE_NEWDATE:     return "NEWDATE";     break;
         | 
| 23 | 
            +
              case mysql::system::MYSQL_TYPE_VARCHAR:     return "VARCHAR";     break;
         | 
| 24 | 
            +
              case mysql::system::MYSQL_TYPE_BIT:         return "BIT";         break;
         | 
| 25 | 
            +
              case mysql::system::MYSQL_TYPE_NEWDECIMAL:  return "NEWDECIMAL";  break;
         | 
| 26 | 
            +
              case mysql::system::MYSQL_TYPE_ENUM:        return "ENUM";        break;
         | 
| 27 | 
            +
              case mysql::system::MYSQL_TYPE_SET:         return "SET";         break;
         | 
| 28 | 
            +
              case mysql::system::MYSQL_TYPE_TINY_BLOB:   return "TINY_BLOB";   break;
         | 
| 29 | 
            +
              case mysql::system::MYSQL_TYPE_MEDIUM_BLOB: return "MEDIUM_BLOB"; break;
         | 
| 30 | 
            +
              case mysql::system::MYSQL_TYPE_LONG_BLOB:   return "LONG_BLOB";   break;
         | 
| 31 | 
            +
              case mysql::system::MYSQL_TYPE_BLOB:        return "BLOB";        break;
         | 
| 32 | 
            +
              case mysql::system::MYSQL_TYPE_VAR_STRING:  return "VAR_STRING";  break;
         | 
| 33 | 
            +
              case mysql::system::MYSQL_TYPE_STRING:      return "STRING";      break;
         | 
| 34 | 
            +
              case mysql::system::MYSQL_TYPE_GEOMETRY:    return "GEOMETRY";    break;
         | 
| 35 | 
            +
              }
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              return 0;
         | 
| 38 | 
            +
            }
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            } // namespace binlog
         | 
| 41 | 
            +
            } // namespace ruby
         | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| @@ -51,6 +51,7 @@ void RowEvent::init() { | |
| 51 51 | 
             
              rb_define_method(rb_cBinlogRowEvent, "table_id",                 __F(&get_table_id),             0);
         | 
| 52 52 | 
             
              rb_define_method(rb_cBinlogRowEvent, "db_name",                  __F(&get_db_name),              0);
         | 
| 53 53 | 
             
              rb_define_method(rb_cBinlogRowEvent, "table_name",               __F(&get_table_name),           0);
         | 
| 54 | 
            +
              rb_define_method(rb_cBinlogRowEvent, "columns",                  __F(&get_column_types),         0);
         | 
| 54 55 | 
             
              rb_define_method(rb_cBinlogRowEvent, "flags",                    __F(&get_flags),                0);
         | 
| 55 56 | 
             
              rb_define_method(rb_cBinlogRowEvent, "columns_len",              __F(&get_columns_len),          0);
         | 
| 56 57 | 
             
              rb_define_method(rb_cBinlogRowEvent, "null_bits_len",            __F(&get_null_bits_len),        0);
         | 
| @@ -92,6 +93,27 @@ VALUE RowEvent::get_table_name(VALUE self) { | |
| 92 93 | 
             
              }
         | 
| 93 94 | 
             
            }
         | 
| 94 95 |  | 
| 96 | 
            +
            VALUE RowEvent::get_column_types(VALUE self) {
         | 
| 97 | 
            +
              RowEvent *p;
         | 
| 98 | 
            +
              Data_Get_Struct(self, RowEvent, p);
         | 
| 99 | 
            +
              VALUE retval = Qnil;
         | 
| 100 | 
            +
             | 
| 101 | 
            +
              if (p->m_table_map) {
         | 
| 102 | 
            +
                TableMapEvent *tme;
         | 
| 103 | 
            +
                retval = rb_ary_new();
         | 
| 104 | 
            +
             | 
| 105 | 
            +
                Data_Get_Struct(p->m_table_map, TableMapEvent, tme);
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                for (std::vector<uint8_t>::iterator itor = tme->m_event->columns.begin();
         | 
| 108 | 
            +
                     itor != tme->m_event->columns.end(); itor++) {
         | 
| 109 | 
            +
                  const char *colname = get_field_type_str(static_cast<mysql::system::enum_field_types>(*itor));
         | 
| 110 | 
            +
                  rb_ary_push(retval, (colname ? rb_str_new2(colname) : Qnil));
         | 
| 111 | 
            +
                }
         | 
| 112 | 
            +
              }
         | 
| 113 | 
            +
             | 
| 114 | 
            +
              return retval;
         | 
| 115 | 
            +
            }
         | 
| 116 | 
            +
             | 
| 95 117 | 
             
            VALUE RowEvent::get_flags(VALUE self) {
         | 
| 96 118 | 
             
              RowEvent *p;
         | 
| 97 119 | 
             
              Data_Get_Struct(self, RowEvent, p);
         | 
    
        data/ext/ruby_binlog_row_event.o
    CHANGED
    
    | Binary file | 
| @@ -39,13 +39,14 @@ void TableMapEvent::init() { | |
| 39 39 |  | 
| 40 40 | 
             
              Event::init(rb_cBinlogTableMapEvent);
         | 
| 41 41 |  | 
| 42 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, "table_id", | 
| 43 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, "flags", | 
| 44 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, "db_name", | 
| 45 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, "table_name", | 
| 46 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, " | 
| 47 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, " | 
| 48 | 
            -
              rb_define_method(rb_cBinlogTableMapEvent, " | 
| 42 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "table_id",    __F(&get_table_id),     0);
         | 
| 43 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "flags",       __F(&get_flags),        0);
         | 
| 44 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "db_name",     __F(&get_db_name),      0);
         | 
| 45 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "table_name",  __F(&get_table_name),   0);
         | 
| 46 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "raw_columns", __F(&get_columns),      0);
         | 
| 47 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "columns",     __F(&get_column_types), 0);
         | 
| 48 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "metadata",    __F(&get_metadata),     0);
         | 
| 49 | 
            +
              rb_define_method(rb_cBinlogTableMapEvent, "null_bits",   __F(&get_null_bits),    0);
         | 
| 49 50 | 
             
            }
         | 
| 50 51 |  | 
| 51 52 | 
             
            VALUE TableMapEvent::get_table_id(VALUE self) {
         | 
| @@ -86,6 +87,21 @@ VALUE TableMapEvent::get_columns(VALUE self) { | |
| 86 87 | 
             
              return retval;
         | 
| 87 88 | 
             
            }
         | 
| 88 89 |  | 
| 90 | 
            +
            VALUE TableMapEvent::get_column_types(VALUE self) {
         | 
| 91 | 
            +
              TableMapEvent *p;
         | 
| 92 | 
            +
              VALUE retval = rb_ary_new();
         | 
| 93 | 
            +
             | 
| 94 | 
            +
              Data_Get_Struct(self, TableMapEvent, p);
         | 
| 95 | 
            +
             | 
| 96 | 
            +
              for (std::vector<uint8_t>::iterator itor = p->m_event->columns.begin();
         | 
| 97 | 
            +
                   itor != p->m_event->columns.end(); itor++) {
         | 
| 98 | 
            +
                const char *colname = get_field_type_str(static_cast<mysql::system::enum_field_types>(*itor));
         | 
| 99 | 
            +
                rb_ary_push(retval, (colname ? rb_str_new2(colname) : Qnil));
         | 
| 100 | 
            +
              }
         | 
| 101 | 
            +
             | 
| 102 | 
            +
              return retval;
         | 
| 103 | 
            +
            }
         | 
| 104 | 
            +
             | 
| 89 105 | 
             
            VALUE TableMapEvent::get_metadata(VALUE self) {
         | 
| 90 106 | 
             
              TableMapEvent *p;
         | 
| 91 107 | 
             
              VALUE retval = rb_ary_new();
         | 
| Binary file | 
| Binary file | 
| Binary file | 
    
        data/ext/ruby_binlog_xid_event.o
    CHANGED
    
    | Binary file | 
    
        data/ext/test.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: ruby-binlog
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 31
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 1
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.1. | 
| 9 | 
            +
              - 2
         | 
| 10 | 
            +
              version: 0.1.2
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - winebarrel
         | 
| @@ -34,6 +34,7 @@ files: | |
| 34 34 | 
             
            - ext/ruby_binlog_rotate_event.cpp
         | 
| 35 35 | 
             
            - ext/ruby_binlog_format_event.cpp
         | 
| 36 36 | 
             
            - ext/Makefile
         | 
| 37 | 
            +
            - ext/ruby_binlog_get_field_type_str.o
         | 
| 37 38 | 
             
            - ext/ruby_binlog_format_event.o
         | 
| 38 39 | 
             
            - ext/ruby_binlog_user_var_event.o
         | 
| 39 40 | 
             
            - ext/ruby_binlog_user_var_event.cpp
         | 
| @@ -43,6 +44,7 @@ files: | |
| 43 44 | 
             
            - ext/ruby_binlog.cpp
         | 
| 44 45 | 
             
            - ext/ruby_binlog_table_map_event.cpp
         | 
| 45 46 | 
             
            - ext/ruby_binlog_row_event.o
         | 
| 47 | 
            +
            - ext/ruby_binlog_get_field_type_str.cpp
         | 
| 46 48 | 
             
            - ext/mkmf.log
         | 
| 47 49 | 
             
            - ext/ruby_binlog_row_event.cpp
         | 
| 48 50 | 
             
            - ext/ruby_binlog_event.cpp
         |