do_postgres 0.10.1-x86-mingw32 → 0.10.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog.markdown CHANGED
@@ -1,10 +1,15 @@
1
- ## 0.10.1 (unreleased, in git)
1
+ ## 0.10.2 2010-05-19
2
+ * Make Encoding.default_internal aware
3
+ * Rework logging for making callbacks possible
4
+ * Remove handling Object types directly
5
+
6
+ ## 0.10.1 2010-01-08
2
7
 
3
8
  * Support for Ruby 1.8 and 1.9 on Windows.
4
9
  * Switch to Jeweler for Gem building tasks (this change may be temporary).
5
10
  * Switch to using Bacon for running specs: This should make specs friendlier to
6
11
  new Ruby implementations that are not yet 100% MRI-compatible, and in turn,
7
- prepared the road for our own IronRuby and MacRuby support.
12
+ pave the road for our own IronRuby and MacRuby support.
8
13
  * Switch to the newly added rake-compiler `JavaExtensionTask` for compiling
9
14
  JRuby extensions, instead of our (broken) home-grown solution.
10
15
 
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ JRUBY = RUBY_PLATFORM =~ /java/
11
11
  IRONRUBY = defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby'
12
12
  WINDOWS = Gem.win_platform? || (JRUBY && ENV_JAVA['os.name'] =~ /windows/i)
13
13
  SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
14
- BINARY_VERSION = '8.3.9'
14
+ BINARY_VERSION = '8.3.10'
15
15
 
16
16
  CLEAN.include(%w[ {tmp,pkg}/ **/*.{o,so,bundle,jar,log,a,gem,dSYM,obj,pdb,exp,DS_Store,rbc,db} ext/do_postgres/Makefile ext-java/target ])
17
17
 
@@ -38,52 +38,52 @@
38
38
  #include "error.h"
39
39
  #include "compat.h"
40
40
 
41
- #define ID_CONST_GET rb_intern("const_get")
42
- #define ID_PATH rb_intern("path")
43
- #define ID_NEW rb_intern("new")
44
- #define ID_ESCAPE rb_intern("escape_sql")
45
-
46
41
  #define CONST_GET(scope, constant) (rb_funcall(scope, ID_CONST_GET, 1, rb_str_new2(constant)))
47
- #define POSTGRES_CLASS(klass, parent) (rb_define_class_under(mPostgres, klass, parent))
42
+ #define DRIVER_CLASS(klass, parent) (rb_define_class_under(mPostgres, klass, parent))
48
43
 
49
44
  #ifdef HAVE_RUBY_ENCODING_H
50
45
  #include <ruby/encoding.h>
51
46
 
52
- #define DO_STR_NEW2(str, encoding) \
47
+ #define DO_STR_NEW2(str, encoding, internal_encoding) \
53
48
  ({ \
54
49
  VALUE _string = rb_str_new2((const char *)str); \
55
50
  if(encoding != -1) { \
56
51
  rb_enc_associate_index(_string, encoding); \
57
52
  } \
53
+ if(internal_encoding) { \
54
+ _string = rb_str_export_to_enc(_string, internal_encoding); \
55
+ } \
58
56
  _string; \
59
57
  })
60
58
 
61
- #define DO_STR_NEW(str, len, encoding) \
59
+ #define DO_STR_NEW(str, len, encoding, internal_encoding) \
62
60
  ({ \
63
61
  VALUE _string = rb_str_new((const char *)str, (long)len); \
64
62
  if(encoding != -1) { \
65
63
  rb_enc_associate_index(_string, encoding); \
66
64
  } \
65
+ if(internal_encoding) { \
66
+ _string = rb_str_export_to_enc(_string, internal_encoding); \
67
+ } \
67
68
  _string; \
68
69
  })
69
70
 
70
71
  #else
71
72
 
72
- #define DO_STR_NEW2(str, doc) \
73
+ #define DO_STR_NEW2(str, encoding, internal_encoding) \
73
74
  rb_str_new2((const char *)str)
74
75
 
75
- #define DO_STR_NEW(str, len, doc) \
76
+ #define DO_STR_NEW(str, len, encoding, internal_encoding) \
76
77
  rb_str_new((const char *)str, (long)len)
77
78
  #endif
78
79
 
79
-
80
80
  // To store rb_intern values
81
81
  static ID ID_NEW_DATE;
82
- static ID ID_LOGGER;
83
- static ID ID_DEBUG;
84
- static ID ID_LEVEL;
85
- static ID ID_TO_S;
86
82
  static ID ID_RATIONAL;
83
+ static ID ID_CONST_GET;
84
+ static ID ID_NEW;
85
+ static ID ID_ESCAPE;
86
+ static ID ID_LOG;
87
87
 
88
88
  static VALUE mExtlib;
89
89
  static VALUE mDO;
@@ -93,6 +93,8 @@ static VALUE cDO_Connection;
93
93
  static VALUE cDO_Command;
94
94
  static VALUE cDO_Result;
95
95
  static VALUE cDO_Reader;
96
+ static VALUE cDO_Logger;
97
+ static VALUE cDO_Logger_Message;
96
98
 
97
99
  static VALUE rb_cDate;
98
100
  static VALUE rb_cDateTime;
@@ -105,32 +107,19 @@ static VALUE cCommand;
105
107
  static VALUE cResult;
106
108
  static VALUE cReader;
107
109
 
108
- static VALUE eArgumentError;
109
110
  static VALUE eConnectionError;
110
111
  static VALUE eDataError;
111
112
 
112
- static void data_objects_debug(VALUE string, struct timeval* start) {
113
+ static void data_objects_debug(VALUE connection, VALUE string, struct timeval* start) {
113
114
  struct timeval stop;
114
- char *message;
115
-
116
- const char *query = rb_str_ptr_readonly(string);
117
- size_t length = rb_str_len(string);
118
- char total_time[32];
119
- do_int64 duration = 0;
120
-
121
- VALUE logger = rb_funcall(mPostgres, ID_LOGGER, 0);
122
- int log_level = NUM2INT(rb_funcall(logger, ID_LEVEL, 0));
115
+ VALUE message;
123
116
 
124
- if (0 == log_level) {
125
- gettimeofday(&stop, NULL);
117
+ gettimeofday(&stop, NULL);
118
+ do_int64 duration = (stop.tv_sec - start->tv_sec) * 1000000 + stop.tv_usec - start->tv_usec;
126
119
 
127
- duration = (stop.tv_sec - start->tv_sec) * 1000000 + stop.tv_usec - start->tv_usec;
120
+ message = rb_funcall(cDO_Logger_Message, ID_NEW, 3, string, rb_time_new(start->tv_sec, start->tv_usec), INT2NUM(duration));
128
121
 
129
- snprintf(total_time, 32, "%.6f", duration / 1000000.0);
130
- message = (char *)calloc(length + strlen(total_time) + 4, sizeof(char));
131
- snprintf(message, length + strlen(total_time) + 4, "(%s) %s", total_time, query);
132
- rb_funcall(logger, ID_DEBUG, 1, rb_str_new(message, length + strlen(total_time) + 3));
133
- }
122
+ rb_funcall(connection, ID_LOG, 1, message);
134
123
  }
135
124
 
136
125
  static const char * get_uri_option(VALUE query_hash, const char * key) {
@@ -352,10 +341,16 @@ static VALUE infer_ruby_type(Oid type) {
352
341
 
353
342
  static VALUE typecast(const char *value, long length, const VALUE type, int encoding) {
354
343
 
344
+ #ifdef HAVE_RUBY_ENCODING_H
345
+ rb_encoding * internal_encoding = rb_default_internal_encoding();
346
+ #else
347
+ void * internal_encoding = NULL;
348
+ #endif
349
+
355
350
  if (type == rb_cInteger) {
356
351
  return rb_cstr2inum(value, 10);
357
352
  } else if (type == rb_cString) {
358
- return DO_STR_NEW(value, length, encoding);
353
+ return DO_STR_NEW(value, length, encoding, internal_encoding);
359
354
  } else if (type == rb_cFloat) {
360
355
  return rb_float_new(rb_cstr_to_dbl(value, Qfalse));
361
356
  } else if (type == rb_cBigDecimal) {
@@ -376,12 +371,10 @@ static VALUE typecast(const char *value, long length, const VALUE type, int enco
376
371
  return byte_array;
377
372
  } else if (type == rb_cClass) {
378
373
  return rb_funcall(mDO, rb_intern("full_const_get"), 1, rb_str_new(value, length));
379
- } else if (type == rb_cObject) {
380
- return rb_marshal_load(rb_str_new(value, length));
381
374
  } else if (type == rb_cNilClass) {
382
375
  return Qnil;
383
376
  } else {
384
- return DO_STR_NEW(value, length, encoding);
377
+ return DO_STR_NEW(value, length, encoding, internal_encoding);
385
378
  }
386
379
 
387
380
  }
@@ -460,11 +453,11 @@ static VALUE cCommand_set_types(int argc, VALUE *argv, VALUE self) {
460
453
  if(TYPE(sub_entry) == T_CLASS) {
461
454
  rb_ary_push(type_strings, sub_entry);
462
455
  } else {
463
- rb_raise(eArgumentError, "Invalid type given");
456
+ rb_raise(rb_eArgError, "Invalid type given");
464
457
  }
465
458
  }
466
459
  } else {
467
- rb_raise(eArgumentError, "Invalid type given");
460
+ rb_raise(rb_eArgError, "Invalid type given");
468
461
  }
469
462
  }
470
463
 
@@ -506,7 +499,7 @@ static VALUE cConnection_quote_string(VALUE self, VALUE string) {
506
499
  // Wrap the escaped string in single-quotes, this is DO's convention
507
500
  escaped[quoted_length + 1] = escaped[0] = '\'';
508
501
 
509
- result = DO_STR_NEW(escaped, quoted_length + 2, FIX2INT(rb_iv_get(self, "@encoding_id")));
502
+ result = DO_STR_NEW(escaped, quoted_length + 2, FIX2INT(rb_iv_get(self, "@encoding_id")), NULL);
510
503
 
511
504
  free(escaped);
512
505
  return result;
@@ -541,7 +534,7 @@ static VALUE cConnection_quote_byte_array(VALUE self, VALUE string) {
541
534
  static void full_connect(VALUE self, PGconn *db);
542
535
 
543
536
  #ifdef _WIN32
544
- static PGresult* cCommand_execute_sync(VALUE self, PGconn *db, VALUE query) {
537
+ static PGresult* cCommand_execute_sync(VALUE self, VALUE connection, PGconn *db, VALUE query) {
545
538
  PGresult *response;
546
539
  struct timeval start;
547
540
  char* str = StringValuePtr(query);
@@ -554,15 +547,12 @@ static PGresult* cCommand_execute_sync(VALUE self, PGconn *db, VALUE query) {
554
547
 
555
548
  response = PQexec(db, str);
556
549
 
557
- data_objects_debug(query, &start);
558
-
559
550
  if (response == NULL) {
560
551
  if(PQstatus(db) != CONNECTION_OK) {
561
552
  PQreset(db);
562
553
  if (PQstatus(db) == CONNECTION_OK) {
563
554
  response = PQexec(db, str);
564
555
  } else {
565
- VALUE connection = rb_iv_get(self, "@connection");
566
556
  full_connect(connection, db);
567
557
  response = PQexec(db, str);
568
558
  }
@@ -573,10 +563,12 @@ static PGresult* cCommand_execute_sync(VALUE self, PGconn *db, VALUE query) {
573
563
  }
574
564
  }
575
565
 
566
+ data_objects_debug(connection, query, &start);
567
+
576
568
  return response;
577
569
  }
578
570
  #else
579
- static PGresult* cCommand_execute_async(VALUE self, PGconn *db, VALUE query) {
571
+ static PGresult* cCommand_execute_async(VALUE self, VALUE connection, PGconn *db, VALUE query) {
580
572
  int socket_fd;
581
573
  int retval;
582
574
  fd_set rset;
@@ -588,6 +580,8 @@ static PGresult* cCommand_execute_async(VALUE self, PGconn *db, VALUE query) {
588
580
  PQclear(response);
589
581
  }
590
582
 
583
+ gettimeofday(&start, NULL);
584
+
591
585
  retval = PQsendQuery(db, str);
592
586
 
593
587
  if (!retval) {
@@ -596,7 +590,6 @@ static PGresult* cCommand_execute_async(VALUE self, PGconn *db, VALUE query) {
596
590
  if (PQstatus(db) == CONNECTION_OK) {
597
591
  retval = PQsendQuery(db, str);
598
592
  } else {
599
- VALUE connection = rb_iv_get(self, "@connection");
600
593
  full_connect(connection, db);
601
594
  retval = PQsendQuery(db, str);
602
595
  }
@@ -607,11 +600,8 @@ static PGresult* cCommand_execute_async(VALUE self, PGconn *db, VALUE query) {
607
600
  }
608
601
  }
609
602
 
610
- gettimeofday(&start, NULL);
611
603
  socket_fd = PQsocket(db);
612
604
 
613
- data_objects_debug(query, &start);
614
-
615
605
  for(;;) {
616
606
  FD_ZERO(&rset);
617
607
  FD_SET(socket_fd, &rset);
@@ -633,6 +623,8 @@ static PGresult* cCommand_execute_async(VALUE self, PGconn *db, VALUE query) {
633
623
  }
634
624
  }
635
625
 
626
+ data_objects_debug(connection, query, &start);
627
+
636
628
  return PQgetResult(db);
637
629
  }
638
630
  #endif
@@ -747,7 +739,7 @@ static void full_connect(VALUE self, PGconn *db) {
747
739
  search_path_query = (char *)calloc(256, sizeof(char));
748
740
  snprintf(search_path_query, 256, "set search_path to %s;", search_path);
749
741
  r_query = rb_str_new2(search_path_query);
750
- result = cCommand_execute(self, db, r_query);
742
+ result = cCommand_execute(Qnil, self, db, r_query);
751
743
 
752
744
  if (PQresultStatus(result) != PGRES_COMMAND_OK) {
753
745
  free((void *)search_path_query);
@@ -758,21 +750,21 @@ static void full_connect(VALUE self, PGconn *db) {
758
750
  }
759
751
 
760
752
  r_options = rb_str_new2(backslash_off);
761
- result = cCommand_execute(self, db, r_options);
753
+ result = cCommand_execute(Qnil, self, db, r_options);
762
754
 
763
755
  if (PQresultStatus(result) != PGRES_COMMAND_OK) {
764
756
  rb_warn("%s", PQresultErrorMessage(result));
765
757
  }
766
758
 
767
759
  r_options = rb_str_new2(standard_strings_on);
768
- result = cCommand_execute(self, db, r_options);
760
+ result = cCommand_execute(Qnil, self, db, r_options);
769
761
 
770
762
  if (PQresultStatus(result) != PGRES_COMMAND_OK) {
771
763
  rb_warn("%s", PQresultErrorMessage(result));
772
764
  }
773
765
 
774
766
  r_options = rb_str_new2(warning_messages);
775
- result = cCommand_execute(self, db, r_options);
767
+ result = cCommand_execute(Qnil, self, db, r_options);
776
768
 
777
769
  if (PQresultStatus(result) != PGRES_COMMAND_OK) {
778
770
  rb_warn("%s", PQresultErrorMessage(result));
@@ -823,7 +815,7 @@ static VALUE cCommand_execute_non_query(int argc, VALUE *argv[], VALUE self) {
823
815
 
824
816
  VALUE query = build_query_from_args(self, argc, argv);
825
817
 
826
- response = cCommand_execute(self, db, query);
818
+ response = cCommand_execute(self, connection, db, query);
827
819
 
828
820
  status = PQresultStatus(response);
829
821
 
@@ -863,7 +855,7 @@ static VALUE cCommand_execute_reader(int argc, VALUE *argv[], VALUE self) {
863
855
 
864
856
  query = build_query_from_args(self, argc, argv);
865
857
 
866
- response = cCommand_execute(self, db, query);
858
+ response = cCommand_execute(self, connection, db, query);
867
859
 
868
860
  if ( PQresultStatus(response) != PGRES_TUPLES_OK ) {
869
861
  raise_error(self, response, query);
@@ -887,7 +879,7 @@ static VALUE cCommand_execute_reader(int argc, VALUE *argv[], VALUE self) {
887
879
  // Whoops... wrong number of types passed to set_types. Close the reader and raise
888
880
  // and error
889
881
  rb_funcall(reader, rb_intern("close"), 0);
890
- rb_raise(eArgumentError, "Field-count mismatch. Expected %ld fields, but the query yielded %d", RARRAY_LEN(field_types), field_count);
882
+ rb_raise(rb_eArgError, "Field-count mismatch. Expected %ld fields, but the query yielded %d", RARRAY_LEN(field_types), field_count);
891
883
  }
892
884
 
893
885
  for ( i = 0; i < field_count; i++ ) {
@@ -993,24 +985,24 @@ static VALUE cReader_field_count(VALUE self) {
993
985
  void Init_do_postgres() {
994
986
  rb_require("date");
995
987
  rb_require("bigdecimal");
988
+ rb_require("data_objects");
989
+
990
+ ID_CONST_GET = rb_intern("const_get");
996
991
 
997
992
  // Get references classes needed for Date/Time parsing
998
993
  rb_cDate = CONST_GET(rb_mKernel, "Date");
999
994
  rb_cDateTime = CONST_GET(rb_mKernel, "DateTime");
1000
995
  rb_cBigDecimal = CONST_GET(rb_mKernel, "BigDecimal");
1001
996
 
1002
- rb_funcall(rb_mKernel, rb_intern("require"), 1, rb_str_new2("data_objects"));
1003
-
1004
997
  #ifdef RUBY_LESS_THAN_186
1005
998
  ID_NEW_DATE = rb_intern("new0");
1006
999
  #else
1007
1000
  ID_NEW_DATE = rb_intern("new!");
1008
1001
  #endif
1009
- ID_LOGGER = rb_intern("logger");
1010
- ID_DEBUG = rb_intern("debug");
1011
- ID_LEVEL = rb_intern("level");
1012
- ID_TO_S = rb_intern("to_s");
1013
1002
  ID_RATIONAL = rb_intern("Rational");
1003
+ ID_NEW = rb_intern("new");
1004
+ ID_ESCAPE = rb_intern("escape_sql");
1005
+ ID_LOG = rb_intern("log");
1014
1006
 
1015
1007
  // Get references to the Extlib module
1016
1008
  mExtlib = CONST_GET(rb_mKernel, "Extlib");
@@ -1023,34 +1015,56 @@ void Init_do_postgres() {
1023
1015
  cDO_Command = CONST_GET(mDO, "Command");
1024
1016
  cDO_Result = CONST_GET(mDO, "Result");
1025
1017
  cDO_Reader = CONST_GET(mDO, "Reader");
1018
+ cDO_Logger = CONST_GET(mDO, "Logger");
1019
+ cDO_Logger_Message = CONST_GET(cDO_Logger, "Message");
1026
1020
 
1027
- eArgumentError = CONST_GET(rb_mKernel, "ArgumentError");
1028
1021
  mPostgres = rb_define_module_under(mDO, "Postgres");
1029
1022
  eConnectionError = CONST_GET(mDO, "ConnectionError");
1030
1023
  eDataError = CONST_GET(mDO, "DataError");
1031
1024
  mEncoding = rb_define_module_under(mPostgres, "Encoding");
1032
1025
 
1033
- cConnection = POSTGRES_CLASS("Connection", cDO_Connection);
1026
+ cConnection = DRIVER_CLASS("Connection", cDO_Connection);
1034
1027
  rb_define_method(cConnection, "initialize", cConnection_initialize, 1);
1035
1028
  rb_define_method(cConnection, "dispose", cConnection_dispose, 0);
1036
1029
  rb_define_method(cConnection, "character_set", cConnection_character_set , 0);
1037
1030
  rb_define_method(cConnection, "quote_string", cConnection_quote_string, 1);
1038
1031
  rb_define_method(cConnection, "quote_byte_array", cConnection_quote_byte_array, 1);
1039
1032
 
1040
- cCommand = POSTGRES_CLASS("Command", cDO_Command);
1033
+ cCommand = DRIVER_CLASS("Command", cDO_Command);
1041
1034
  rb_define_method(cCommand, "set_types", cCommand_set_types, -1);
1042
1035
  rb_define_method(cCommand, "execute_non_query", cCommand_execute_non_query, -1);
1043
1036
  rb_define_method(cCommand, "execute_reader", cCommand_execute_reader, -1);
1044
1037
 
1045
- cResult = POSTGRES_CLASS("Result", cDO_Result);
1038
+ cResult = DRIVER_CLASS("Result", cDO_Result);
1046
1039
 
1047
- cReader = POSTGRES_CLASS("Reader", cDO_Reader);
1040
+ cReader = DRIVER_CLASS("Reader", cDO_Reader);
1048
1041
  rb_define_method(cReader, "close", cReader_close, 0);
1049
1042
  rb_define_method(cReader, "next!", cReader_next, 0);
1050
1043
  rb_define_method(cReader, "values", cReader_values, 0);
1051
1044
  rb_define_method(cReader, "fields", cReader_fields, 0);
1052
1045
  rb_define_method(cReader, "field_count", cReader_field_count, 0);
1053
1046
 
1047
+ rb_global_variable(&ID_NEW_DATE);
1048
+ rb_global_variable(&ID_RATIONAL);
1049
+ rb_global_variable(&ID_CONST_GET);
1050
+ rb_global_variable(&ID_ESCAPE);
1051
+ rb_global_variable(&ID_LOG);
1052
+ rb_global_variable(&ID_NEW);
1053
+
1054
+ rb_global_variable(&rb_cDate);
1055
+ rb_global_variable(&rb_cDateTime);
1056
+ rb_global_variable(&rb_cBigDecimal);
1057
+ rb_global_variable(&rb_cByteArray);
1058
+
1059
+ rb_global_variable(&mDO);
1060
+ rb_global_variable(&cDO_Logger_Message);
1061
+
1062
+ rb_global_variable(&cResult);
1063
+ rb_global_variable(&cReader);
1064
+
1065
+ rb_global_variable(&eConnectionError);
1066
+ rb_global_variable(&eDataError);
1067
+
1054
1068
  struct errcodes *errs;
1055
1069
 
1056
1070
  for (errs = errors; errs->error_name; errs++) {
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  module DataObjects
2
2
  module Postgres
3
- VERSION = '0.10.1'.freeze
3
+ VERSION = '0.10.2'
4
4
  end
5
5
  end
@@ -15,6 +15,7 @@ describe DataObjects::Postgres::Connection do
15
15
  # can be overridden -- but for now, we won't support doing this.
16
16
  #
17
17
  behaves_like 'a driver supporting different encodings'
18
- behaves_like 'returning correctly encoded strings for the default encoding'
18
+ behaves_like 'returning correctly encoded strings for the default database encoding'
19
+ behaves_like 'returning correctly encoded strings for the default internal encoding'
19
20
  end
20
21
  end
data/spec/spec_helper.rb CHANGED
@@ -70,9 +70,8 @@ module DataObjectsSpecHelpers
70
70
 
71
71
  conn.create_command(<<-EOF).execute_non_query
72
72
  CREATE TABLE "invoices" (
73
- "id" SERIAL,
74
73
  "invoice_number" varchar(50) NOT NULL,
75
- PRIMARY KEY ("id")
74
+ PRIMARY KEY ("invoice_number")
76
75
  );
77
76
  EOF
78
77
 
data/tasks/compile.rake CHANGED
@@ -73,7 +73,7 @@ begin
73
73
  ext.classpath = '../do_jdbc/lib/do_jdbc_internal.jar'
74
74
  ext.java_compiling do |gem|
75
75
  gem.add_dependency 'jdbc-postgres', '>=8.2'
76
- gem.add_dependency 'do_jdbc', '0.10.1'
76
+ gem.add_dependency 'do_jdbc', '0.10.2'
77
77
  end
78
78
  end
79
79
  rescue LoadError
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: do_postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 10
8
+ - 2
9
+ version: 0.10.2
5
10
  platform: x86-mingw32
6
11
  authors:
7
12
  - Dirkjan Bussink
@@ -9,39 +14,49 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-09 00:00:00 +01:00
17
+ date: 2010-05-19 00:00:00 +02:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: data_objects
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - "="
22
26
  - !ruby/object:Gem::Version
23
- version: 0.10.1
24
- version:
27
+ segments:
28
+ - 0
29
+ - 10
30
+ - 2
31
+ version: 0.10.2
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: bacon
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - ~>
32
40
  - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 1
33
44
  version: "1.1"
34
- version:
45
+ type: :development
46
+ version_requirements: *id002
35
47
  - !ruby/object:Gem::Dependency
36
48
  name: rake-compiler
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
49
+ prerelease: false
50
+ requirement: &id003 !ruby/object:Gem::Requirement
40
51
  requirements:
41
52
  - - ~>
42
53
  - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ - 7
43
57
  version: "0.7"
44
- version:
58
+ type: :development
59
+ version_requirements: *id003
45
60
  description: Implements the DataObjects API for PostgreSQL
46
61
  email: d.bussink@gmail.com
47
62
  executables: []
@@ -101,13 +116,13 @@ post_install_message: |+
101
116
  ======================================================================================================
102
117
 
103
118
  You've installed the binary version of do_postgres.
104
- It was built using PostgreSQL version 8.3.9.
119
+ It was built using PostgreSQL version 8.3.10.
105
120
  It's recommended to use the exact same version to avoid potential issues.
106
121
 
107
122
  At the time of building this gem, the necessary DLL files where available
108
123
  in the following download:
109
124
 
110
- http://wwwmaster.postgresql.org/redir/107/h/binary/v8.3.9/win32/postgresql-8.3.9-1-binaries-no-installer.zip
125
+ http://wwwmaster.postgresql.org/redir/107/h/binary/v8.3.10/win32/postgresql-8.3.10-1-binaries-no-installer.zip
111
126
 
112
127
  You can put the following files available in this package in your Ruby bin
113
128
  directory, for example C:\Ruby\bin
@@ -132,18 +147,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
132
147
  requirements:
133
148
  - - ">="
134
149
  - !ruby/object:Gem::Version
150
+ segments:
151
+ - 0
135
152
  version: "0"
136
- version:
137
153
  required_rubygems_version: !ruby/object:Gem::Requirement
138
154
  requirements:
139
155
  - - ">="
140
156
  - !ruby/object:Gem::Version
157
+ segments:
158
+ - 0
141
159
  version: "0"
142
- version:
143
160
  requirements: []
144
161
 
145
162
  rubyforge_project: dorb
146
- rubygems_version: 1.3.5
163
+ rubygems_version: 1.3.6
147
164
  signing_key:
148
165
  specification_version: 3
149
166
  summary: DataObjects PostgreSQL Driver