outback 0.0.14 → 1.1.0

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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +11 -0
  3. data/LICENSE +21 -0
  4. data/README.md +29 -3
  5. data/lib/outback/archive.rb +6 -17
  6. data/lib/outback/backup.rb +38 -20
  7. data/lib/outback/cli.rb +6 -2
  8. data/lib/outback/configuration.rb +15 -10
  9. data/lib/outback/directory_source.rb +8 -7
  10. data/lib/outback/directory_target.rb +18 -11
  11. data/lib/outback/encryption_processor.rb +34 -0
  12. data/lib/outback/errors.rb +7 -0
  13. data/lib/outback/logging.rb +7 -0
  14. data/lib/outback/mysql_source.rb +9 -9
  15. data/lib/outback/processor.rb +17 -0
  16. data/lib/outback/s3_target.rb +18 -9
  17. data/lib/outback/sftp_target.rb +70 -0
  18. data/lib/outback/source.rb +9 -2
  19. data/lib/outback/source_archive.rb +17 -0
  20. data/lib/outback/support/attr_setter.rb +1 -1
  21. data/lib/outback/support/configurable.rb +5 -3
  22. data/lib/outback/target.rb +52 -14
  23. data/lib/outback/target_archive.rb +30 -0
  24. data/lib/outback/version.rb +3 -0
  25. data/lib/outback.rb +16 -11
  26. data/lib/vendor/enumerable_ext.rb +9 -0
  27. data/lib/{outback/vendor → vendor}/metaclass.rb +1 -1
  28. data/lib/vendor/methodphitamine.rb +28 -0
  29. data/lib/vendor/mysql/charset.rb +325 -0
  30. data/lib/vendor/mysql/constants.rb +165 -0
  31. data/lib/vendor/mysql/error.rb +989 -0
  32. data/lib/vendor/mysql/packet.rb +78 -0
  33. data/lib/vendor/mysql/protocol.rb +770 -0
  34. data/lib/vendor/mysql.rb +1093 -0
  35. data/lib/vendor/numeric_ext.rb +49 -0
  36. data/lib/vendor/string_ext.rb +19 -0
  37. metadata +84 -43
  38. data/MIT-LICENSE +0 -20
  39. data/VERSION +0 -1
  40. data/lib/outback/configuration_error.rb +0 -4
  41. data/lib/outback/directory_archive.rb +0 -8
  42. data/lib/outback/local_archive.rb +0 -6
  43. data/lib/outback/s3_archive.rb +0 -18
  44. data/lib/outback/temp_archive.rb +0 -5
  45. data/lib/outback/vendor/methodphitamine.rb +0 -25
  46. data/lib/outback/vendor/mysql.rb +0 -1214
@@ -0,0 +1,165 @@
1
+ # coding: ascii-8bit
2
+ # Copyright (C) 2003-2008 TOMITA Masahiro
3
+ # mailto:tommy@tmtm.org
4
+
5
+ class Mysql
6
+ # Command
7
+ COM_SLEEP = 0
8
+ COM_QUIT = 1
9
+ COM_INIT_DB = 2
10
+ COM_QUERY = 3
11
+ COM_FIELD_LIST = 4
12
+ COM_CREATE_DB = 5
13
+ COM_DROP_DB = 6
14
+ COM_REFRESH = 7
15
+ COM_SHUTDOWN = 8
16
+ COM_STATISTICS = 9
17
+ COM_PROCESS_INFO = 10
18
+ COM_CONNECT = 11
19
+ COM_PROCESS_KILL = 12
20
+ COM_DEBUG = 13
21
+ COM_PING = 14
22
+ COM_TIME = 15
23
+ COM_DELAYED_INSERT = 16
24
+ COM_CHANGE_USER = 17
25
+ COM_BINLOG_DUMP = 18
26
+ COM_TABLE_DUMP = 19
27
+ COM_CONNECT_OUT = 20
28
+ COM_REGISTER_SLAVE = 21
29
+ COM_STMT_PREPARE = 22
30
+ COM_STMT_EXECUTE = 23
31
+ COM_STMT_SEND_LONG_DATA = 24
32
+ COM_STMT_CLOSE = 25
33
+ COM_STMT_RESET = 26
34
+ COM_SET_OPTION = 27
35
+ COM_STMT_FETCH = 28
36
+
37
+ # Client flag
38
+ CLIENT_LONG_PASSWORD = 1 # new more secure passwords
39
+ CLIENT_FOUND_ROWS = 1 << 1 # Found instead of affected rows
40
+ CLIENT_LONG_FLAG = 1 << 2 # Get all column flags
41
+ CLIENT_CONNECT_WITH_DB = 1 << 3 # One can specify db on connect
42
+ CLIENT_NO_SCHEMA = 1 << 4 # Don't allow database.table.column
43
+ CLIENT_COMPRESS = 1 << 5 # Can use compression protocol
44
+ CLIENT_ODBC = 1 << 6 # Odbc client
45
+ CLIENT_LOCAL_FILES = 1 << 7 # Can use LOAD DATA LOCAL
46
+ CLIENT_IGNORE_SPACE = 1 << 8 # Ignore spaces before '('
47
+ CLIENT_PROTOCOL_41 = 1 << 9 # New 4.1 protocol
48
+ CLIENT_INTERACTIVE = 1 << 10 # This is an interactive client
49
+ CLIENT_SSL = 1 << 11 # Switch to SSL after handshake
50
+ CLIENT_IGNORE_SIGPIPE = 1 << 12 # IGNORE sigpipes
51
+ CLIENT_TRANSACTIONS = 1 << 13 # Client knows about transactions
52
+ CLIENT_RESERVED = 1 << 14 # Old flag for 4.1 protocol
53
+ CLIENT_SECURE_CONNECTION = 1 << 15 # New 4.1 authentication
54
+ CLIENT_MULTI_STATEMENTS = 1 << 16 # Enable/disable multi-stmt support
55
+ CLIENT_MULTI_RESULTS = 1 << 17 # Enable/disable multi-results
56
+
57
+ # Connection Option
58
+ OPT_CONNECT_TIMEOUT = 0
59
+ OPT_COMPRESS = 1
60
+ OPT_NAMED_PIPE = 2
61
+ INIT_COMMAND = 3
62
+ READ_DEFAULT_FILE = 4
63
+ READ_DEFAULT_GROUP = 5
64
+ SET_CHARSET_DIR = 6
65
+ SET_CHARSET_NAME = 7
66
+ OPT_LOCAL_INFILE = 8
67
+ OPT_PROTOCOL = 9
68
+ SHARED_MEMORY_BASE_NAME = 10
69
+ OPT_READ_TIMEOUT = 11
70
+ OPT_WRITE_TIMEOUT = 12
71
+ OPT_USE_RESULT = 13
72
+ OPT_USE_REMOTE_CONNECTION = 14
73
+ OPT_USE_EMBEDDED_CONNECTION = 15
74
+ OPT_GUESS_CONNECTION = 16
75
+ SET_CLIENT_IP = 17
76
+ SECURE_AUTH = 18
77
+ REPORT_DATA_TRUNCATION = 19
78
+ OPT_RECONNECT = 20
79
+ OPT_SSL_VERIFY_SERVER_CERT = 21
80
+
81
+ # Server Option
82
+ OPTION_MULTI_STATEMENTS_ON = 0
83
+ OPTION_MULTI_STATEMENTS_OFF = 1
84
+
85
+ # Server Status
86
+ SERVER_STATUS_IN_TRANS = 1
87
+ SERVER_STATUS_AUTOCOMMIT = 1 << 1
88
+ SERVER_MORE_RESULTS_EXISTS = 1 << 3
89
+ SERVER_QUERY_NO_GOOD_INDEX_USED = 1 << 4
90
+ SERVER_QUERY_NO_INDEX_USED = 1 << 5
91
+ SERVER_STATUS_CURSOR_EXISTS = 1 << 6
92
+ SERVER_STATUS_LAST_ROW_SENT = 1 << 7
93
+ SERVER_STATUS_DB_DROPPED = 1 << 8
94
+ SERVER_STATUS_NO_BACKSLASH_ESCAPES = 1 << 9
95
+
96
+ # Refresh parameter
97
+ REFRESH_GRANT = 1
98
+ REFRESH_LOG = 1 << 1
99
+ REFRESH_TABLES = 1 << 2
100
+ REFRESH_HOSTS = 1 << 3
101
+ REFRESH_STATUS = 1 << 4
102
+ REFRESH_THREADS = 1 << 5
103
+ REFRESH_SLAVE = 1 << 6
104
+ REFRESH_MASTER = 1 << 7
105
+ REFRESH_READ_LOCK = 1 << 14
106
+ REFRESH_FAST = 1 << 15
107
+
108
+ class Field
109
+ # Field type
110
+ TYPE_DECIMAL = 0
111
+ TYPE_TINY = 1
112
+ TYPE_SHORT = 2
113
+ TYPE_LONG = 3
114
+ TYPE_FLOAT = 4
115
+ TYPE_DOUBLE = 5
116
+ TYPE_NULL = 6
117
+ TYPE_TIMESTAMP = 7
118
+ TYPE_LONGLONG = 8
119
+ TYPE_INT24 = 9
120
+ TYPE_DATE = 10
121
+ TYPE_TIME = 11
122
+ TYPE_DATETIME = 12
123
+ TYPE_YEAR = 13
124
+ TYPE_NEWDATE = 14
125
+ TYPE_VARCHAR = 15
126
+ TYPE_BIT = 16
127
+ TYPE_NEWDECIMAL = 246
128
+ TYPE_ENUM = 247
129
+ TYPE_SET = 248
130
+ TYPE_TINY_BLOB = 249
131
+ TYPE_MEDIUM_BLOB = 250
132
+ TYPE_LONG_BLOB = 251
133
+ TYPE_BLOB = 252
134
+ TYPE_VAR_STRING = 253
135
+ TYPE_STRING = 254
136
+ TYPE_GEOMETRY = 255
137
+ TYPE_CHAR = TYPE_TINY
138
+ TYPE_INTERVAL = TYPE_ENUM
139
+
140
+ # Flag
141
+ NOT_NULL_FLAG = 1
142
+ PRI_KEY_FLAG = 2
143
+ UNIQUE_KEY_FLAG = 4
144
+ MULTIPLE_KEY_FLAG = 8
145
+ BLOB_FLAG = 16
146
+ UNSIGNED_FLAG = 32
147
+ ZEROFILL_FLAG = 64
148
+ BINARY_FLAG = 128
149
+ ENUM_FLAG = 256
150
+ AUTO_INCREMENT_FLAG = 512
151
+ TIMESTAMP_FLAG = 1024
152
+ SET_FLAG = 2048
153
+ NUM_FLAG = 32768
154
+ PART_KEY_FLAG = 16384
155
+ GROUP_FLAG = 32768
156
+ UNIQUE_FLAG = 65536
157
+ BINCMP_FLAG = 131072
158
+ end
159
+
160
+ class Stmt
161
+ # Cursor type
162
+ CURSOR_TYPE_NO_CURSOR = 0
163
+ CURSOR_TYPE_READ_ONLY = 1
164
+ end
165
+ end