do_sqlite3 0.10.5-x86-mswin32-60 → 0.10.6-x86-mswin32-60

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/ChangeLog.markdown CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.10.6 2011-05-22
2
+
3
+ Bugfixes
4
+ * Fix an issue on some platforms when multiple DO drivers are loaded
5
+
1
6
  ## 0.10.5 2011-05-03
2
7
 
3
8
  Bugfixes
data/Rakefile CHANGED
@@ -1,7 +1,12 @@
1
+ require 'rubygems'
1
2
  require 'pathname'
2
3
  require 'bundler'
3
4
  Bundler::GemHelper.install_tasks
4
5
 
6
+ $: << '../do_mysql/lib'
7
+
8
+ require 'do_mysql'
9
+
5
10
  require 'rake'
6
11
  require 'rake/clean'
7
12
 
@@ -45,6 +45,11 @@ VALUE rb_cBigDecimal;
45
45
  * Common Functions
46
46
  */
47
47
 
48
+
49
+ VALUE data_objects_const_get(VALUE scope, const char *constant) {
50
+ return rb_funcall(scope, ID_CONST_GET, 1, rb_str_new2(constant));
51
+ }
52
+
48
53
  void data_objects_debug(VALUE connection, VALUE string, struct timeval *start) {
49
54
  struct timeval stop;
50
55
  VALUE message;
@@ -57,7 +62,7 @@ void data_objects_debug(VALUE connection, VALUE string, struct timeval *start) {
57
62
  rb_funcall(connection, ID_LOG, 1, message);
58
63
  }
59
64
 
60
- void do_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state) {
65
+ void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state) {
61
66
  const char *exception_type = "SQLError";
62
67
  const struct errcodes *e;
63
68
 
@@ -72,7 +77,7 @@ void do_raise_error(VALUE self, const struct errcodes *errors, int errnum, const
72
77
  VALUE uri = rb_funcall(rb_iv_get(self, "@connection"), rb_intern("to_s"), 0);
73
78
 
74
79
  VALUE exception = rb_funcall(
75
- do_const_get(mDO, exception_type),
80
+ data_objects_const_get(mDO, exception_type),
76
81
  ID_NEW,
77
82
  5,
78
83
  rb_str_new2(message),
@@ -85,7 +90,7 @@ void do_raise_error(VALUE self, const struct errcodes *errors, int errnum, const
85
90
  rb_exc_raise(exception);
86
91
  }
87
92
 
88
- char *get_uri_option(VALUE query_hash, const char *key) {
93
+ char *data_objects_get_uri_option(VALUE query_hash, const char *key) {
89
94
  VALUE query_value;
90
95
  char *value = NULL;
91
96
 
@@ -102,7 +107,7 @@ char *get_uri_option(VALUE query_hash, const char *key) {
102
107
  return value;
103
108
  }
104
109
 
105
- void assert_file_exists(char *file, const char *message) {
110
+ void data_objects_assert_file_exists(char *file, const char *message) {
106
111
  if (file) {
107
112
  if (rb_funcall(rb_cFile, rb_intern("exist?"), 1, rb_str_new2(file)) == Qfalse) {
108
113
  rb_raise(rb_eArgError, "%s", message);
@@ -110,7 +115,7 @@ void assert_file_exists(char *file, const char *message) {
110
115
  }
111
116
  }
112
117
 
113
- VALUE build_query_from_args(VALUE klass, int count, VALUE *args) {
118
+ VALUE data_objects_build_query_from_args(VALUE klass, int count, VALUE *args) {
114
119
  VALUE array = rb_ary_new();
115
120
  int i;
116
121
 
@@ -123,7 +128,7 @@ VALUE build_query_from_args(VALUE klass, int count, VALUE *args) {
123
128
 
124
129
  // Find the greatest common denominator and reduce the provided numerator and denominator.
125
130
  // This replaces calles to Rational.reduce! which does the same thing, but really slowly.
126
- void reduce(do_int64 *numerator, do_int64 *denominator) {
131
+ void data_objects_reduce(do_int64 *numerator, do_int64 *denominator) {
127
132
  do_int64 a = *numerator, b = *denominator, c;
128
133
 
129
134
  while (a != 0) {
@@ -137,7 +142,7 @@ void reduce(do_int64 *numerator, do_int64 *denominator) {
137
142
  }
138
143
 
139
144
  // Generate the date integer which Date.civil_to_jd returns
140
- int jd_from_date(int year, int month, int day) {
145
+ int data_objects_jd_from_date(int year, int month, int day) {
141
146
  int a, b;
142
147
 
143
148
  if (month <= 2) {
@@ -151,24 +156,24 @@ int jd_from_date(int year, int month, int day) {
151
156
  return (int)(floor(365.25 * (year + 4716)) + floor(30.6001 * (month + 1)) + day + b - 1524);
152
157
  }
153
158
 
154
- VALUE seconds_to_offset(long seconds_offset) {
159
+ VALUE data_objects_seconds_to_offset(long seconds_offset) {
155
160
  do_int64 num = seconds_offset;
156
161
  do_int64 den = 86400;
157
162
 
158
- reduce(&num, &den);
163
+ data_objects_reduce(&num, &den);
159
164
  return rb_funcall(rb_mKernel, ID_RATIONAL, 2, rb_ll2inum(num), rb_ll2inum(den));
160
165
  }
161
166
 
162
- VALUE timezone_to_offset(int hour_offset, int minute_offset) {
167
+ VALUE data_objects_timezone_to_offset(int hour_offset, int minute_offset) {
163
168
  do_int64 seconds = 0;
164
169
 
165
170
  seconds += hour_offset * 3600;
166
171
  seconds += minute_offset * 60;
167
172
 
168
- return seconds_to_offset(seconds);
173
+ return data_objects_seconds_to_offset(seconds);
169
174
  }
170
175
 
171
- VALUE parse_date(const char *date) {
176
+ VALUE data_objects_parse_date(const char *date) {
172
177
  static char const *const _fmt_date = "%4d-%2d-%2d";
173
178
  int year = 0, month = 0, day = 0;
174
179
  int jd, ajd;
@@ -180,14 +185,14 @@ VALUE parse_date(const char *date) {
180
185
  return Qnil;
181
186
  }
182
187
 
183
- jd = jd_from_date(year, month, day);
188
+ jd = data_objects_jd_from_date(year, month, day);
184
189
  ajd = (jd * 2) - 1; // Math from Date.jd_to_ajd
185
190
  rational = rb_funcall(rb_mKernel, ID_RATIONAL, 2, INT2NUM(ajd), INT2NUM(2));
186
191
 
187
192
  return rb_funcall(rb_cDate, ID_NEW_DATE, 3, rational, INT2NUM(0), INT2NUM(2299161));
188
193
  }
189
194
 
190
- VALUE parse_time(const char *date) {
195
+ VALUE data_objects_parse_time(const char *date) {
191
196
  static char const* const _fmt_datetime = "%4d-%2d-%2d %2d:%2d:%2d%7lf";
192
197
  int year = 0, month = 0, day = 0, hour = 0, min = 0, sec = 0, usec = 0;
193
198
  double subsec = 0;
@@ -208,7 +213,7 @@ VALUE parse_time(const char *date) {
208
213
  return rb_funcall(rb_cTime, rb_intern("local"), 7, INT2NUM(year), INT2NUM(month), INT2NUM(day), INT2NUM(hour), INT2NUM(min), INT2NUM(sec), INT2NUM(usec));
209
214
  }
210
215
 
211
- VALUE parse_date_time(const char *date) {
216
+ VALUE data_objects_parse_date_time(const char *date) {
212
217
  static char const* const _fmt_datetime_tz_normal = "%4d-%2d-%2d%*c%2d:%2d:%2d%3d:%2d";
213
218
  static char const* const _fmt_datetime_tz_subsec = "%4d-%2d-%2d%*c%2d:%2d:%2d.%*d%3d:%2d";
214
219
  int tokens_read;
@@ -294,7 +299,7 @@ VALUE parse_date_time(const char *date) {
294
299
  rb_raise(eDataError, "Couldn't parse date: %s", date);
295
300
  }
296
301
 
297
- jd = jd_from_date(year, month, day);
302
+ jd = data_objects_jd_from_date(year, month, day);
298
303
 
299
304
  /*
300
305
  * Generate ajd with fractional days for the time.
@@ -306,47 +311,47 @@ VALUE parse_date_time(const char *date) {
306
311
  num = (hour * 1440) + (min * 24);
307
312
  num -= (hour_offset * 1440) + (minute_offset * 24);
308
313
  den = (24 * 1440);
309
- reduce(&num, &den);
314
+ data_objects_reduce(&num, &den);
310
315
 
311
316
  num = (num * 86400) + (sec * den);
312
317
  den = den * 86400;
313
- reduce(&num, &den);
318
+ data_objects_reduce(&num, &den);
314
319
 
315
320
  num += jd * den;
316
321
 
317
322
  num = (num * 2) - den;
318
323
  den *= 2;
319
- reduce(&num, &den);
324
+ data_objects_reduce(&num, &den);
320
325
 
321
326
  ajd = rb_funcall(rb_mKernel, ID_RATIONAL, 2, rb_ull2inum(num), rb_ull2inum(den));
322
- offset = timezone_to_offset(hour_offset, minute_offset);
327
+ offset = data_objects_timezone_to_offset(hour_offset, minute_offset);
323
328
 
324
329
  return rb_funcall(rb_cDateTime, ID_NEW_DATE, 3, ajd, offset, INT2NUM(2299161));
325
330
  }
326
331
 
327
- VALUE cConnection_character_set(VALUE self) {
332
+ VALUE data_objects_cConnection_character_set(VALUE self) {
328
333
  return rb_iv_get(self, "@encoding");
329
334
  }
330
335
 
331
- VALUE cConnection_is_using_socket(VALUE self) {
336
+ VALUE data_objects_cConnection_is_using_socket(VALUE self) {
332
337
  return rb_iv_get(self, "@using_socket");
333
338
  }
334
339
 
335
- VALUE cConnection_ssl_cipher(VALUE self) {
340
+ VALUE data_objects_cConnection_ssl_cipher(VALUE self) {
336
341
  return rb_iv_get(self, "@ssl_cipher");
337
342
  }
338
343
 
339
- VALUE cConnection_quote_time(VALUE self, VALUE value) {
344
+ VALUE data_objects_cConnection_quote_time(VALUE self, VALUE value) {
340
345
  return rb_funcall(value, ID_STRFTIME, 1, rb_str_new2("'%Y-%m-%d %H:%M:%S'"));
341
346
  }
342
347
 
343
- VALUE cConnection_quote_date_time(VALUE self, VALUE value) {
348
+ VALUE data_objects_cConnection_quote_date_time(VALUE self, VALUE value) {
344
349
  // TODO: Support non-local dates. we need to call #new_offset on the date to be
345
350
  // quoted and pass in the current locale's date offset (self.new_offset((hours * 3600).to_r / 86400)
346
351
  return rb_funcall(value, ID_STRFTIME, 1, rb_str_new2("'%Y-%m-%d %H:%M:%S'"));
347
352
  }
348
353
 
349
- VALUE cConnection_quote_date(VALUE self, VALUE value) {
354
+ VALUE data_objects_cConnection_quote_date(VALUE self, VALUE value) {
350
355
  return rb_funcall(value, ID_STRFTIME, 1, rb_str_new2("'%Y-%m-%d'"));
351
356
  }
352
357
 
@@ -354,7 +359,7 @@ VALUE cConnection_quote_date(VALUE self, VALUE value) {
354
359
  * Accepts an array of Ruby types (Fixnum, Float, String, etc...) and turns them
355
360
  * into Ruby-strings so we can easily typecast later
356
361
  */
357
- VALUE cCommand_set_types(int argc, VALUE *argv, VALUE self) {
362
+ VALUE data_objects_cCommand_set_types(int argc, VALUE *argv, VALUE self) {
358
363
  VALUE type_strings = rb_ary_new();
359
364
  VALUE array = rb_ary_new();
360
365
 
@@ -393,7 +398,7 @@ VALUE cCommand_set_types(int argc, VALUE *argv, VALUE self) {
393
398
  return array;
394
399
  }
395
400
 
396
- VALUE cReader_values(VALUE self) {
401
+ VALUE data_objects_cReader_values(VALUE self) {
397
402
  VALUE state = rb_iv_get(self, "@opened");
398
403
  VALUE values = rb_iv_get(self, "@values");
399
404
 
@@ -404,27 +409,27 @@ VALUE cReader_values(VALUE self) {
404
409
  return rb_iv_get(self, "@values");
405
410
  }
406
411
 
407
- VALUE cReader_fields(VALUE self) {
412
+ VALUE data_objects_cReader_fields(VALUE self) {
408
413
  return rb_iv_get(self, "@fields");
409
414
  }
410
415
 
411
- VALUE cReader_field_count(VALUE self) {
416
+ VALUE data_objects_cReader_field_count(VALUE self) {
412
417
  return rb_iv_get(self, "@field_count");
413
418
  }
414
419
 
415
- void common_init(void) {
420
+ void data_objects_common_init(void) {
416
421
  rb_require("bigdecimal");
417
422
  rb_require("rational");
418
423
  rb_require("date");
419
424
  rb_require("data_objects");
420
425
 
421
- // Needed by do_const_get
426
+ // Needed by data_objects_const_get
422
427
  ID_CONST_GET = rb_intern("const_get");
423
428
 
424
429
  // Get references classes needed for Date/Time parsing
425
- rb_cDate = do_const_get(rb_mKernel, "Date");
426
- rb_cDateTime = do_const_get(rb_mKernel, "DateTime");
427
- rb_cBigDecimal = do_const_get(rb_mKernel, "BigDecimal");
430
+ rb_cDate = data_objects_const_get(rb_mKernel, "Date");
431
+ rb_cDateTime = data_objects_const_get(rb_mKernel, "DateTime");
432
+ rb_cBigDecimal = data_objects_const_get(rb_mKernel, "BigDecimal");
428
433
 
429
434
  ID_NEW = rb_intern("new");
430
435
  #ifdef RUBY_LESS_THAN_186
@@ -439,22 +444,22 @@ void common_init(void) {
439
444
  ID_LOG = rb_intern("log");
440
445
 
441
446
  // Get references to the Extlib module
442
- mExtlib = do_const_get(rb_mKernel, "Extlib");
443
- rb_cByteArray = do_const_get(mExtlib, "ByteArray");
447
+ mExtlib = data_objects_const_get(rb_mKernel, "Extlib");
448
+ rb_cByteArray = data_objects_const_get(mExtlib, "ByteArray");
444
449
 
445
450
  // Get references to the DataObjects module and its classes
446
- mDO = do_const_get(rb_mKernel, "DataObjects");
447
- cDO_Quoting = do_const_get(mDO, "Quoting");
448
- cDO_Connection = do_const_get(mDO, "Connection");
449
- cDO_Command = do_const_get(mDO, "Command");
450
- cDO_Result = do_const_get(mDO, "Result");
451
- cDO_Reader = do_const_get(mDO, "Reader");
452
- cDO_Logger = do_const_get(mDO, "Logger");
453
- cDO_Logger_Message = do_const_get(cDO_Logger, "Message");
454
- cDO_Extension = do_const_get(mDO, "Extension");
455
-
456
- eConnectionError = do_const_get(mDO, "ConnectionError");
457
- eDataError = do_const_get(mDO, "DataError");
451
+ mDO = data_objects_const_get(rb_mKernel, "DataObjects");
452
+ cDO_Quoting = data_objects_const_get(mDO, "Quoting");
453
+ cDO_Connection = data_objects_const_get(mDO, "Connection");
454
+ cDO_Command = data_objects_const_get(mDO, "Command");
455
+ cDO_Result = data_objects_const_get(mDO, "Result");
456
+ cDO_Reader = data_objects_const_get(mDO, "Reader");
457
+ cDO_Logger = data_objects_const_get(mDO, "Logger");
458
+ cDO_Logger_Message = data_objects_const_get(cDO_Logger, "Message");
459
+ cDO_Extension = data_objects_const_get(mDO, "Extension");
460
+
461
+ eConnectionError = data_objects_const_get(mDO, "ConnectionError");
462
+ eDataError = data_objects_const_get(mDO, "DataError");
458
463
 
459
464
  rb_global_variable(&ID_NEW_DATE);
460
465
  rb_global_variable(&ID_RATIONAL);
@@ -480,7 +485,7 @@ void common_init(void) {
480
485
  /*
481
486
  * Common typecasting logic that can be used or overriden by Adapters.
482
487
  */
483
- extern VALUE do_typecast(const char *value, long length, const VALUE type, int encoding) {
488
+ extern VALUE data_objects_typecast(const char *value, long length, const VALUE type, int encoding) {
484
489
  #ifdef HAVE_RUBY_ENCODING_H
485
490
  rb_encoding *internal_encoding = rb_default_internal_encoding();
486
491
  #else
@@ -491,7 +496,7 @@ extern VALUE do_typecast(const char *value, long length, const VALUE type, int e
491
496
  return rb_cstr2inum(value, 10);
492
497
  }
493
498
  else if (type == rb_cString) {
494
- return do_str_new(value, length, encoding, internal_encoding);
499
+ return DATA_OBJECTS_STR_NEW(value, length, encoding, internal_encoding);
495
500
  }
496
501
  else if (type == rb_cFloat) {
497
502
  return rb_float_new(rb_cstr_to_dbl(value, Qfalse));
@@ -500,13 +505,13 @@ extern VALUE do_typecast(const char *value, long length, const VALUE type, int e
500
505
  return rb_funcall(rb_cBigDecimal, ID_NEW, 1, rb_str_new(value, length));
501
506
  }
502
507
  else if (type == rb_cDate) {
503
- return parse_date(value);
508
+ return data_objects_parse_date(value);
504
509
  }
505
510
  else if (type == rb_cDateTime) {
506
- return parse_date_time(value);
511
+ return data_objects_parse_date_time(value);
507
512
  }
508
513
  else if (type == rb_cTime) {
509
- return parse_time(value);
514
+ return data_objects_parse_time(value);
510
515
  }
511
516
  else if (type == rb_cTrueClass) {
512
517
  return (!value || strcmp("0", value) == 0) ? Qfalse : Qtrue;
@@ -521,6 +526,6 @@ extern VALUE do_typecast(const char *value, long length, const VALUE type, int e
521
526
  return Qnil;
522
527
  }
523
528
  else {
524
- return DO_STR_NEW(value, length, encoding, internal_encoding);
529
+ return DATA_OBJECTS_STR_NEW(value, length, encoding, internal_encoding);
525
530
  }
526
531
  }
@@ -3,18 +3,24 @@
3
3
 
4
4
  #include <ruby.h>
5
5
 
6
+ // Needed for defining error.h
7
+ struct errcodes {
8
+ int error_no;
9
+ const char *error_name;
10
+ const char *exception;
11
+ };
12
+
13
+ #define ERRCODE(name,message) {name, #name, message}
14
+
6
15
  #ifdef _WIN32
7
- #define cCommand_execute cCommand_execute_sync
8
16
  typedef signed __int64 do_int64;
9
17
  #else
10
- #define cCommand_execute cCommand_execute_async
11
18
  typedef signed long long int do_int64;
12
19
  #endif
13
20
 
14
21
  #ifdef HAVE_RUBY_ENCODING_H
15
22
  #include <ruby/encoding.h>
16
-
17
- #define DO_STR_NEW2(str, encoding, internal_encoding) \
23
+ #define DATA_OBJECTS_STR_NEW2(str, encoding, internal_encoding) \
18
24
  ({ \
19
25
  VALUE _string = rb_str_new2((const char *)str); \
20
26
  if(encoding != -1) { \
@@ -26,7 +32,7 @@ typedef signed long long int do_int64;
26
32
  _string; \
27
33
  })
28
34
 
29
- #define DO_STR_NEW(str, len, encoding, internal_encoding) \
35
+ #define DATA_OBJECTS_STR_NEW(str, len, encoding, internal_encoding) \
30
36
  ({ \
31
37
  VALUE _string = rb_str_new((const char *)str, (long)len); \
32
38
  if(encoding != -1) { \
@@ -38,24 +44,15 @@ typedef signed long long int do_int64;
38
44
  _string; \
39
45
  })
40
46
 
41
- # else
47
+ #else
42
48
 
43
- #define DO_STR_NEW2(str, encoding, internal_encoding) \
49
+ #define DATA_OBJECTS_STR_NEW2(str, encoding, internal_encoding) \
44
50
  rb_str_new2((const char *)str)
45
51
 
46
- #define DO_STR_NEW(str, len, encoding, internal_encoding) \
52
+ #define DATA_OBJECTS_STR_NEW(str, len, encoding, internal_encoding) \
47
53
  rb_str_new((const char *)str, (long)len)
48
54
  #endif
49
55
 
50
- // Needed for defining error.h
51
- struct errcodes {
52
- int error_no;
53
- const char *error_name;
54
- const char *exception;
55
- };
56
-
57
- #define ERRCODE(name,message) {name, #name, message}
58
-
59
56
  // To store rb_intern values
60
57
  extern ID ID_NEW;
61
58
  extern ID ID_NEW_DATE;
@@ -89,71 +86,37 @@ extern VALUE rb_cDateTime;
89
86
  extern VALUE rb_cBigDecimal;
90
87
 
91
88
  extern void data_objects_debug(VALUE connection, VALUE string, struct timeval *start);
92
- extern char *get_uri_option(VALUE query_hash, const char *key);
93
- extern void assert_file_exists(char *file, const char *message);
94
- extern VALUE build_query_from_args(VALUE klass, int count, VALUE *args);
95
-
96
- extern void reduce(do_int64 *numerator, do_int64 *denominator);
97
- extern int jd_from_date(int year, int month, int day);
98
- extern VALUE seconds_to_offset(long seconds_offset);
99
- extern VALUE timezone_to_offset(int hour_offset, int minute_offset);
100
-
101
- extern VALUE parse_date(const char *date);
102
- extern VALUE parse_time(const char *date);
103
- extern VALUE parse_date_time(const char *date);
104
-
105
- extern VALUE cConnection_character_set(VALUE self);
106
- extern VALUE cConnection_is_using_socket(VALUE self);
107
- extern VALUE cConnection_ssl_cipher(VALUE self);
108
- extern VALUE cConnection_quote_time(VALUE self, VALUE value);
109
- extern VALUE cConnection_quote_date_time(VALUE self, VALUE value);
110
- extern VALUE cConnection_quote_date(VALUE self, VALUE value);
111
-
112
- extern VALUE cCommand_set_types(int argc, VALUE *argv, VALUE self);
113
-
114
- extern VALUE cReader_values(VALUE self);
115
- extern VALUE cReader_fields(VALUE self);
116
- extern VALUE cReader_field_count(VALUE self);
117
-
118
- extern void common_init(void);
119
-
120
- static inline VALUE do_const_get(VALUE scope, const char *constant) {
121
- return rb_funcall(scope, ID_CONST_GET, 1, rb_str_new2(constant));
122
- }
89
+ extern char *data_objects_get_uri_option(VALUE query_hash, const char *key);
90
+ extern void data_objects_assert_file_exists(char *file, const char *message);
91
+ extern VALUE data_objects_build_query_from_args(VALUE klass, int count, VALUE *args);
123
92
 
124
- static inline VALUE do_str_new(const void *string, long length, int encoding, void *internal_encoding) {
125
- VALUE new_string = rb_str_new(string, length);
93
+ extern void data_objects_reduce(do_int64 *numerator, do_int64 *denominator);
94
+ extern int data_objects_jd_from_date(int year, int month, int day);
95
+ extern VALUE data_objects_seconds_to_offset(long seconds_offset);
96
+ extern VALUE data_objects_timezone_to_offset(int hour_offset, int minute_offset);
126
97
 
127
- #ifdef HAVE_RUBY_ENCODING_H
128
- if(encoding != -1) {
129
- rb_enc_associate_index(new_string, encoding);
130
- }
98
+ extern VALUE data_objects_parse_date(const char *date);
99
+ extern VALUE data_objects_parse_time(const char *date);
100
+ extern VALUE data_objects_parse_date_time(const char *date);
131
101
 
132
- if(internal_encoding) {
133
- new_string = rb_str_export_to_enc(new_string, internal_encoding);
134
- }
135
- #endif
102
+ extern VALUE data_objects_cConnection_character_set(VALUE self);
103
+ extern VALUE data_objects_cConnection_is_using_socket(VALUE self);
104
+ extern VALUE data_objects_cConnection_ssl_cipher(VALUE self);
105
+ extern VALUE data_objects_cConnection_quote_time(VALUE self, VALUE value);
106
+ extern VALUE data_objects_cConnection_quote_date_time(VALUE self, VALUE value);
107
+ extern VALUE data_objects_cConnection_quote_date(VALUE self, VALUE value);
136
108
 
137
- return new_string;
138
- }
109
+ extern VALUE data_objects_cCommand_set_types(int argc, VALUE *argv, VALUE self);
139
110
 
140
- static inline VALUE do_str_new2(const void *string, int encoding, void *internal_encoding) {
141
- VALUE new_string = rb_str_new2(string);
111
+ extern VALUE data_objects_cReader_values(VALUE self);
112
+ extern VALUE data_objects_cReader_fields(VALUE self);
113
+ extern VALUE data_objects_cReader_field_count(VALUE self);
142
114
 
143
- #ifdef HAVE_RUBY_ENCODING_H
144
- if(encoding != -1) {
145
- rb_enc_associate_index(new_string, encoding);
146
- }
147
-
148
- if(internal_encoding) {
149
- new_string = rb_str_export_to_enc(new_string, internal_encoding);
150
- }
151
- #endif
115
+ extern void data_objects_common_init(void);
152
116
 
153
- return new_string;
154
- }
117
+ extern VALUE data_objects_const_get(VALUE scope, const char *constant);
155
118
 
156
- static inline void do_define_errors(VALUE scope, const struct errcodes *errors) {
119
+ static inline void data_objects_define_errors(VALUE scope, const struct errcodes *errors) {
157
120
  const struct errcodes *e;
158
121
 
159
122
  for (e = errors; e->error_name; e++) {
@@ -161,9 +124,9 @@ static inline void do_define_errors(VALUE scope, const struct errcodes *errors)
161
124
  }
162
125
  }
163
126
 
164
- extern void do_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state);
127
+ extern void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state);
165
128
 
166
- extern VALUE do_typecast(const char *value, long length, const VALUE type, int encoding);
129
+ extern VALUE data_objects_typecast(const char *value, long length, const VALUE type, int encoding);
167
130
 
168
131
  #define RSTRING_NOT_MODIFIED
169
132
 
@@ -4,10 +4,10 @@
4
4
  #include "do_common.h"
5
5
 
6
6
  VALUE mSqlite3;
7
- VALUE cConnection;
8
- VALUE cCommand;
9
- VALUE cResult;
10
- VALUE cReader;
7
+ VALUE cSqlite3Connection;
8
+ VALUE cSqlite3Command;
9
+ VALUE cSqlite3Result;
10
+ VALUE cSqlite3Reader;
11
11
 
12
12
  VALUE OPEN_FLAG_READONLY;
13
13
  VALUE OPEN_FLAG_READWRITE;
@@ -15,15 +15,15 @@ VALUE OPEN_FLAG_CREATE;
15
15
  VALUE OPEN_FLAG_NO_MUTEX;
16
16
  VALUE OPEN_FLAG_FULL_MUTEX;
17
17
 
18
- void raise_error(VALUE self, sqlite3 *result, VALUE query) {
18
+ void do_sqlite3_raise_error(VALUE self, sqlite3 *result, VALUE query) {
19
19
  int errnum = sqlite3_errcode(result);
20
20
  const char *message = sqlite3_errmsg(result);
21
21
  VALUE sql_state = rb_str_new2("");
22
22
 
23
- do_raise_error(self, errors, errnum, message, query, sql_state);
23
+ data_objects_raise_error(self, do_sqlite3_errors, errnum, message, query, sql_state);
24
24
  }
25
25
 
26
- VALUE typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
26
+ VALUE do_sqlite3_typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
27
27
  int original_type = sqlite3_column_type(stmt, i);
28
28
  int length = sqlite3_column_bytes(stmt, i);
29
29
 
@@ -61,7 +61,7 @@ VALUE typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
61
61
  return LL2NUM(sqlite3_column_int64(stmt, i));
62
62
  }
63
63
  else if (type == rb_cString) {
64
- return DO_STR_NEW((char*)sqlite3_column_text(stmt, i), length, encoding, internal_encoding);
64
+ return DATA_OBJECTS_STR_NEW((char*)sqlite3_column_text(stmt, i), length, encoding, internal_encoding);
65
65
  }
66
66
  else if (type == rb_cFloat) {
67
67
  return rb_float_new(sqlite3_column_double(stmt, i));
@@ -70,13 +70,13 @@ VALUE typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
70
70
  return rb_funcall(rb_cBigDecimal, ID_NEW, 1, rb_str_new((char*)sqlite3_column_text(stmt, i), length));
71
71
  }
72
72
  else if (type == rb_cDate) {
73
- return parse_date((char*)sqlite3_column_text(stmt, i));
73
+ return data_objects_parse_date((char*)sqlite3_column_text(stmt, i));
74
74
  }
75
75
  else if (type == rb_cDateTime) {
76
- return parse_date_time((char*)sqlite3_column_text(stmt, i));
76
+ return data_objects_parse_date_time((char*)sqlite3_column_text(stmt, i));
77
77
  }
78
78
  else if (type == rb_cTime) {
79
- return parse_time((char*)sqlite3_column_text(stmt, i));
79
+ return data_objects_parse_time((char*)sqlite3_column_text(stmt, i));
80
80
  }
81
81
  else if (type == rb_cTrueClass) {
82
82
  return strcmp((char*)sqlite3_column_text(stmt, i), "t") == 0 ? Qtrue : Qfalse;
@@ -91,7 +91,7 @@ VALUE typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
91
91
  return Qnil;
92
92
  }
93
93
  else {
94
- return DO_STR_NEW((char*)sqlite3_column_text(stmt, i), length, encoding, internal_encoding);
94
+ return DATA_OBJECTS_STR_NEW((char*)sqlite3_column_text(stmt, i), length, encoding, internal_encoding);
95
95
  }
96
96
  }
97
97
 
@@ -99,7 +99,7 @@ VALUE typecast(sqlite3_stmt *stmt, int i, VALUE type, int encoding) {
99
99
 
100
100
  #define FLAG_PRESENT(query_values, flag) !NIL_P(rb_hash_aref(query_values, flag))
101
101
 
102
- int flags_from_uri(VALUE uri) {
102
+ int do_sqlite3_flags_from_uri(VALUE uri) {
103
103
  VALUE query_values = rb_funcall(uri, rb_intern("query"), 0);
104
104
  int flags = 0;
105
105
 
@@ -139,19 +139,19 @@ int flags_from_uri(VALUE uri) {
139
139
 
140
140
  /****** Public API ******/
141
141
 
142
- VALUE cConnection_initialize(VALUE self, VALUE uri) {
142
+ VALUE do_sqlite3_cConnection_initialize(VALUE self, VALUE uri) {
143
143
  VALUE path = rb_funcall(uri, rb_intern("path"), 0);
144
144
  sqlite3 *db = NULL;
145
145
  int ret;
146
146
 
147
147
  #ifdef HAVE_SQLITE3_OPEN_V2
148
- ret = sqlite3_open_v2(StringValuePtr(path), &db, flags_from_uri(uri), 0);
148
+ ret = sqlite3_open_v2(StringValuePtr(path), &db, do_sqlite3_flags_from_uri(uri), 0);
149
149
  #else
150
150
  ret = sqlite3_open(StringValuePtr(path), &db);
151
151
  #endif
152
152
 
153
153
  if (ret != SQLITE_OK) {
154
- raise_error(self, db, Qnil);
154
+ do_sqlite3_raise_error(self, db, Qnil);
155
155
  }
156
156
 
157
157
  rb_iv_set(self, "@uri", uri);
@@ -165,7 +165,7 @@ VALUE cConnection_initialize(VALUE self, VALUE uri) {
165
165
  return Qtrue;
166
166
  }
167
167
 
168
- VALUE cConnection_dispose(VALUE self) {
168
+ VALUE do_sqlite3_cConnection_dispose(VALUE self) {
169
169
  VALUE connection_container = rb_iv_get(self, "@connection");
170
170
 
171
171
  if (connection_container == Qnil) {
@@ -183,11 +183,11 @@ VALUE cConnection_dispose(VALUE self) {
183
183
  return Qtrue;
184
184
  }
185
185
 
186
- VALUE cConnection_quote_boolean(VALUE self, VALUE value) {
186
+ VALUE do_sqlite3_cConnection_quote_boolean(VALUE self, VALUE value) {
187
187
  return rb_str_new2(value == Qtrue ? "'t'" : "'f'");
188
188
  }
189
189
 
190
- VALUE cConnection_quote_string(VALUE self, VALUE string) {
190
+ VALUE do_sqlite3_cConnection_quote_string(VALUE self, VALUE string) {
191
191
  const char *source = rb_str_ptr_readonly(string);
192
192
 
193
193
  // Wrap the escaped string in single-quotes, this is DO's convention
@@ -206,7 +206,7 @@ VALUE cConnection_quote_string(VALUE self, VALUE string) {
206
206
  return result;
207
207
  }
208
208
 
209
- VALUE cConnection_quote_byte_array(VALUE self, VALUE string) {
209
+ VALUE do_sqlite3_cConnection_quote_byte_array(VALUE self, VALUE string) {
210
210
  VALUE source = StringValue(string);
211
211
  VALUE array = rb_funcall(source, rb_intern("unpack"), 1, rb_str_new2("H*"));
212
212
 
@@ -215,7 +215,7 @@ VALUE cConnection_quote_byte_array(VALUE self, VALUE string) {
215
215
  return rb_ary_join(array, Qnil);
216
216
  }
217
217
 
218
- VALUE cConnection_enable_load_extension(VALUE self, VALUE value) {
218
+ VALUE do_sqlite3_cConnection_enable_load_extension(VALUE self, VALUE value) {
219
219
  VALUE connection = rb_iv_get(self, "@connection");
220
220
 
221
221
  if (connection == Qnil) {
@@ -236,7 +236,7 @@ VALUE cConnection_enable_load_extension(VALUE self, VALUE value) {
236
236
  return Qtrue;
237
237
  }
238
238
 
239
- VALUE cConnection_load_extension(VALUE self, VALUE string) {
239
+ VALUE do_sqlite3_cConnection_load_extension(VALUE self, VALUE string) {
240
240
  VALUE connection = rb_iv_get(self, "@connection");
241
241
 
242
242
  if (connection == Qnil) {
@@ -259,8 +259,8 @@ VALUE cConnection_load_extension(VALUE self, VALUE string) {
259
259
  return Qtrue;
260
260
  }
261
261
 
262
- VALUE cCommand_execute_non_query(int argc, VALUE *argv, VALUE self) {
263
- VALUE query = build_query_from_args(self, argc, argv);
262
+ VALUE do_sqlite3_cCommand_execute_non_query(int argc, VALUE *argv, VALUE self) {
263
+ VALUE query = data_objects_build_query_from_args(self, argc, argv);
264
264
  VALUE connection = rb_iv_get(self, "@connection");
265
265
  VALUE sqlite3_connection = rb_iv_get(connection, "@connection");
266
266
 
@@ -280,7 +280,7 @@ VALUE cCommand_execute_non_query(int argc, VALUE *argv, VALUE self) {
280
280
  status = sqlite3_exec(db, rb_str_ptr_readonly(query), 0, 0, &error_message);
281
281
 
282
282
  if (status != SQLITE_OK) {
283
- raise_error(self, db, query);
283
+ do_sqlite3_raise_error(self, db, query);
284
284
  }
285
285
 
286
286
  data_objects_debug(connection, query, &start);
@@ -288,11 +288,11 @@ VALUE cCommand_execute_non_query(int argc, VALUE *argv, VALUE self) {
288
288
  int affected_rows = sqlite3_changes(db);
289
289
  do_int64 insert_id = sqlite3_last_insert_rowid(db);
290
290
 
291
- return rb_funcall(cResult, ID_NEW, 3, self, INT2NUM(affected_rows), INT2NUM(insert_id));
291
+ return rb_funcall(cSqlite3Result, ID_NEW, 3, self, INT2NUM(affected_rows), INT2NUM(insert_id));
292
292
  }
293
293
 
294
- VALUE cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
295
- VALUE query = build_query_from_args(self, argc, argv);
294
+ VALUE do_sqlite3_cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
295
+ VALUE query = data_objects_build_query_from_args(self, argc, argv);
296
296
  VALUE connection = rb_iv_get(self, "@connection");
297
297
  VALUE sqlite3_connection = rb_iv_get(connection, "@connection");
298
298
 
@@ -313,11 +313,11 @@ VALUE cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
313
313
  data_objects_debug(connection, query, &start);
314
314
 
315
315
  if (status != SQLITE_OK) {
316
- raise_error(self, db, query);
316
+ do_sqlite3_raise_error(self, db, query);
317
317
  }
318
318
 
319
319
  int field_count = sqlite3_column_count(sqlite3_reader);
320
- VALUE reader = rb_funcall(cReader, ID_NEW, 0);
320
+ VALUE reader = rb_funcall(cSqlite3Reader, ID_NEW, 0);
321
321
 
322
322
  rb_iv_set(reader, "@reader", Data_Wrap_Struct(rb_cObject, 0, 0, sqlite3_reader));
323
323
  rb_iv_set(reader, "@field_count", INT2NUM(field_count));
@@ -347,7 +347,7 @@ VALUE cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
347
347
  return reader;
348
348
  }
349
349
 
350
- VALUE cReader_close(VALUE self) {
350
+ VALUE do_sqlite3_cReader_close(VALUE self) {
351
351
  VALUE reader_obj = rb_iv_get(self, "@reader");
352
352
 
353
353
  if (reader_obj != Qnil) {
@@ -362,7 +362,7 @@ VALUE cReader_close(VALUE self) {
362
362
  return Qfalse;
363
363
  }
364
364
 
365
- VALUE cReader_next(VALUE self) {
365
+ VALUE do_sqlite3_cReader_next(VALUE self) {
366
366
  if (rb_iv_get(self, "@done") == Qtrue) {
367
367
  return Qfalse;
368
368
  }
@@ -399,7 +399,7 @@ VALUE cReader_next(VALUE self) {
399
399
 
400
400
  for (i = 0; i < field_count; i++) {
401
401
  field_type = rb_ary_entry(field_types, i);
402
- value = typecast(reader, i, field_type, enc);
402
+ value = do_sqlite3_typecast(reader, i, field_type, enc);
403
403
  rb_ary_push(arr, value);
404
404
  }
405
405
 
@@ -407,7 +407,7 @@ VALUE cReader_next(VALUE self) {
407
407
  return Qtrue;
408
408
  }
409
409
 
410
- VALUE cReader_values_sqlite(VALUE self) {
410
+ VALUE do_sqlite3_cReader_values(VALUE self) {
411
411
  VALUE state = rb_iv_get(self, "@state");
412
412
 
413
413
  if (state == Qnil || NUM2INT(state) != SQLITE_ROW) {
@@ -419,36 +419,36 @@ VALUE cReader_values_sqlite(VALUE self) {
419
419
  }
420
420
 
421
421
  void Init_do_sqlite3() {
422
- common_init();
422
+ data_objects_common_init();
423
423
 
424
424
  mSqlite3 = rb_define_module_under(mDO, "Sqlite3");
425
425
 
426
- cConnection = rb_define_class_under(mSqlite3, "Connection", cDO_Connection);
427
- rb_define_method(cConnection, "initialize", cConnection_initialize, 1);
428
- rb_define_method(cConnection, "dispose", cConnection_dispose, 0);
429
- rb_define_method(cConnection, "quote_boolean", cConnection_quote_boolean, 1);
430
- rb_define_method(cConnection, "quote_string", cConnection_quote_string, 1);
431
- rb_define_method(cConnection, "quote_byte_array", cConnection_quote_byte_array, 1);
432
- rb_define_method(cConnection, "character_set", cConnection_character_set, 0);
433
- rb_define_method(cConnection, "enable_load_extension", cConnection_enable_load_extension, 1);
434
- rb_define_method(cConnection, "load_extension", cConnection_load_extension, 1);
435
-
436
- cCommand = rb_define_class_under(mSqlite3, "Command", cDO_Command);
437
- rb_define_method(cCommand, "set_types", cCommand_set_types, -1);
438
- rb_define_method(cCommand, "execute_non_query", cCommand_execute_non_query, -1);
439
- rb_define_method(cCommand, "execute_reader", cCommand_execute_reader, -1);
440
-
441
- cResult = rb_define_class_under(mSqlite3, "Result", cDO_Result);
442
-
443
- cReader = rb_define_class_under(mSqlite3, "Reader", cDO_Reader);
444
- rb_define_method(cReader, "close", cReader_close, 0);
445
- rb_define_method(cReader, "next!", cReader_next, 0);
446
- rb_define_method(cReader, "values", cReader_values_sqlite, 0); // TODO: DRY?
447
- rb_define_method(cReader, "fields", cReader_fields, 0);
448
- rb_define_method(cReader, "field_count", cReader_field_count, 0);
449
-
450
- rb_global_variable(&cResult);
451
- rb_global_variable(&cReader);
426
+ cSqlite3Connection = rb_define_class_under(mSqlite3, "Connection", cDO_Connection);
427
+ rb_define_method(cSqlite3Connection, "initialize", do_sqlite3_cConnection_initialize, 1);
428
+ rb_define_method(cSqlite3Connection, "dispose", do_sqlite3_cConnection_dispose, 0);
429
+ rb_define_method(cSqlite3Connection, "quote_boolean", do_sqlite3_cConnection_quote_boolean, 1);
430
+ rb_define_method(cSqlite3Connection, "quote_string", do_sqlite3_cConnection_quote_string, 1);
431
+ rb_define_method(cSqlite3Connection, "quote_byte_array", do_sqlite3_cConnection_quote_byte_array, 1);
432
+ rb_define_method(cSqlite3Connection, "character_set", data_objects_cConnection_character_set, 0);
433
+ rb_define_method(cSqlite3Connection, "enable_load_extension", do_sqlite3_cConnection_enable_load_extension, 1);
434
+ rb_define_method(cSqlite3Connection, "load_extension", do_sqlite3_cConnection_load_extension, 1);
435
+
436
+ cSqlite3Command = rb_define_class_under(mSqlite3, "Command", cDO_Command);
437
+ rb_define_method(cSqlite3Command, "set_types", data_objects_cCommand_set_types, -1);
438
+ rb_define_method(cSqlite3Command, "execute_non_query", do_sqlite3_cCommand_execute_non_query, -1);
439
+ rb_define_method(cSqlite3Command, "execute_reader", do_sqlite3_cCommand_execute_reader, -1);
440
+
441
+ cSqlite3Result = rb_define_class_under(mSqlite3, "Result", cDO_Result);
442
+
443
+ cSqlite3Reader = rb_define_class_under(mSqlite3, "Reader", cDO_Reader);
444
+ rb_define_method(cSqlite3Reader, "close", do_sqlite3_cReader_close, 0);
445
+ rb_define_method(cSqlite3Reader, "next!", do_sqlite3_cReader_next, 0);
446
+ rb_define_method(cSqlite3Reader, "values", do_sqlite3_cReader_values, 0); // TODO: DRY?
447
+ rb_define_method(cSqlite3Reader, "fields", data_objects_cReader_fields, 0);
448
+ rb_define_method(cSqlite3Reader, "field_count", data_objects_cReader_field_count, 0);
449
+
450
+ rb_global_variable(&cSqlite3Result);
451
+ rb_global_variable(&cSqlite3Reader);
452
452
 
453
453
  OPEN_FLAG_READONLY = rb_str_new2("read_only");
454
454
  rb_global_variable(&OPEN_FLAG_READONLY);
@@ -463,5 +463,5 @@ void Init_do_sqlite3() {
463
463
 
464
464
  Init_do_sqlite3_extension();
465
465
 
466
- do_define_errors(mSqlite3, errors);
466
+ data_objects_define_errors(mSqlite3, do_sqlite3_errors);
467
467
  }
@@ -2,13 +2,13 @@
2
2
  #include "do_common.h"
3
3
  #include "do_sqlite3.h"
4
4
 
5
- VALUE cExtension;
5
+ VALUE cSqlite3Extension;
6
6
 
7
7
  /*****************************************************/
8
8
  /* File used for providing extensions on the default */
9
9
  /* API that are driver specific. */
10
10
  /*****************************************************/
11
- VALUE cExtension_enable_load_extension(VALUE self, VALUE on) {
11
+ VALUE do_sqlite3_cExtension_enable_load_extension(VALUE self, VALUE on) {
12
12
  VALUE id_connection = rb_intern("connection");
13
13
  VALUE connection = rb_funcall(self, id_connection, 0);
14
14
 
@@ -34,7 +34,7 @@ VALUE cExtension_enable_load_extension(VALUE self, VALUE on) {
34
34
  return Qtrue;
35
35
  }
36
36
 
37
- VALUE cExtension_load_extension(VALUE self, VALUE path) {
37
+ VALUE do_sqlite3_cExtension_load_extension(VALUE self, VALUE path) {
38
38
  VALUE id_connection = rb_intern("connection");
39
39
  VALUE connection = rb_funcall(self, id_connection, 0);
40
40
 
@@ -71,7 +71,7 @@ VALUE cExtension_load_extension(VALUE self, VALUE path) {
71
71
  }
72
72
 
73
73
  void Init_do_sqlite3_extension() {
74
- cExtension = rb_define_class_under(mSqlite3, "Extension", cDO_Extension);
75
- rb_define_method(cExtension, "load_extension", cExtension_load_extension, 1);
76
- rb_define_method(cExtension, "enable_load_extension", cExtension_enable_load_extension, 1);
74
+ cSqlite3Extension = rb_define_class_under(mSqlite3, "Extension", cDO_Extension);
75
+ rb_define_method(cSqlite3Extension, "load_extension", do_sqlite3_cExtension_load_extension, 1);
76
+ rb_define_method(cSqlite3Extension, "enable_load_extension", do_sqlite3_cExtension_enable_load_extension, 1);
77
77
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  #include "do_common.h"
5
5
 
6
- static struct errcodes errors[] = {
6
+ static struct errcodes do_sqlite3_errors[] = {
7
7
  #ifdef SQLITE_ERROR
8
8
  ERRCODE(SQLITE_ERROR, "SyntaxError"),
9
9
  #endif
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  module DataObjects
2
2
  module Sqlite3
3
- VERSION = '0.10.5'
3
+ VERSION = '0.10.6'
4
4
  end
5
5
  end
data/tasks/compile.rake CHANGED
@@ -55,7 +55,7 @@ begin
55
55
  ext.classpath = '../do_jdbc/lib/do_jdbc_internal.jar'
56
56
  ext.java_compiling do |gem|
57
57
  gem.add_dependency 'jdbc-sqlite3', '>=3.5.8'
58
- gem.add_dependency 'do_jdbc', '0.10.5'
58
+ gem.add_dependency 'do_jdbc', '0.10.6'
59
59
  end
60
60
  end
61
61
  rescue LoadError
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: do_sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
5
- prerelease: false
4
+ hash: 59
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 10
9
- - 5
10
- version: 0.10.5
9
+ - 6
10
+ version: 0.10.6
11
11
  platform: x86-mswin32-60
12
12
  authors:
13
13
  - Dirkjan Bussink
@@ -19,22 +19,23 @@ date: 2011-03-29 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
+ type: :runtime
22
23
  requirement: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
25
26
  - - "="
26
27
  - !ruby/object:Gem::Version
27
- hash: 61
28
+ hash: 59
28
29
  segments:
29
30
  - 0
30
31
  - 10
31
- - 5
32
- version: 0.10.5
33
- type: :runtime
32
+ - 6
33
+ version: 0.10.6
34
34
  name: data_objects
35
- prerelease: false
36
35
  version_requirements: *id001
36
+ prerelease: false
37
37
  - !ruby/object:Gem::Dependency
38
+ type: :development
38
39
  requirement: &id002 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
@@ -45,11 +46,11 @@ dependencies:
45
46
  - 2
46
47
  - 5
47
48
  version: "2.5"
48
- type: :development
49
49
  name: rspec
50
- prerelease: false
51
50
  version_requirements: *id002
51
+ prerelease: false
52
52
  - !ruby/object:Gem::Dependency
53
+ type: :development
53
54
  requirement: &id003 !ruby/object:Gem::Requirement
54
55
  none: false
55
56
  requirements:
@@ -60,10 +61,9 @@ dependencies:
60
61
  - 0
61
62
  - 7
62
63
  version: "0.7"
63
- type: :development
64
64
  name: rake-compiler
65
- prerelease: false
66
65
  version_requirements: *id003
66
+ prerelease: false
67
67
  description: Implements the DataObjects API for Sqlite3
68
68
  email: d.bussink@gmail.com
69
69
  executables: []
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  requirements: []
165
165
 
166
166
  rubyforge_project: dorb
167
- rubygems_version: 1.3.7
167
+ rubygems_version: 1.5.2
168
168
  signing_key:
169
169
  specification_version: 3
170
170
  summary: DataObjects Sqlite3 Driver