mysql_blob_streaming 2.4.0 → 2.5.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9406a7e9e9fa62bb150d207928020d375660d1376863f99c2952417b2c90e4b3
4
- data.tar.gz: 4afad7f3b474dd31c7c5c3a857555c21f792ce5fc2f8fc4a33bd669c27523263
3
+ metadata.gz: ef1f3180da060f18a1dcbede2948f36002ccc59cffb3386cc209199f86fad9df
4
+ data.tar.gz: ce2106b6b54c28d39c8ed169f32076616695b8585dbc834237e71adcf10fc801
5
5
  SHA512:
6
- metadata.gz: 13319a53b531f34a615e983ddc6c6c4d71f489b5891afe14edc862caac92f3b13bf5a31b2fd6927844ed19c7e32bc6ff96c8172b770265622cf399ec1edd36a9
7
- data.tar.gz: 5635f984869d77e2796c4e09a96abbf21103f03b12d6444f4ce94accf0265622f4e482d1a4ef81e100ee1c55fdff0763a1b37e1b4dd4ee82abcad07a8ca2f369
6
+ metadata.gz: f05f51fdd3f8684248ceb50411786772d8a6cf8a8e990cd596c6e6132f396c252da8d30ea9d2b92351c402d1925ec9b3d993bde1a0fe21c0d464f74d8aa60b4d
7
+ data.tar.gz: 1adb832c41cdc9cb8601227481be9fd84cedef608381aeb6f40efaede7bd6083d4a53992d4cf7aec5784d8ae794db1381ad998e5fa71f0528146a5652564aad0
data/README.markdown CHANGED
@@ -39,3 +39,7 @@ Install it like any other Gem:
39
39
  gem install mysql_blob_streaming-X.X.X.gem
40
40
 
41
41
  Run it with root privileges if needed.
42
+
43
+ ## Development/Tests
44
+
45
+ rake
@@ -11,6 +11,18 @@ find_header('mysql.h', *additional_mysql_include_dirs)
11
11
  find_header('errmsg.h', *additional_mysql_include_dirs)
12
12
  find_library('mysqlclient', nil, *additional_mysql_lib_dirs)
13
13
 
14
+ if have_header('mysql.h')
15
+ prefix = nil
16
+ elsif have_header('mysql/mysql.h')
17
+ prefix = 'mysql'
18
+ else
19
+ asplode 'mysql.h'
20
+ end
21
+ mysql_h = [prefix, 'mysql.h'].compact.join('/')
22
+ # my_bool is replaced by C99 bool in MySQL 8.0, but we want
23
+ # to retain compatibility with the typedef in earlier MySQLs.
24
+ have_type('my_bool', mysql_h)
25
+
14
26
  # --no-undefined forces us to link against libruby
15
27
  def remove_no_undefined(ldflags)
16
28
  ldflags.gsub("-Wl,--no-undefined", "")
@@ -4,29 +4,35 @@
4
4
  #include <mysql.h>
5
5
  #include <errmsg.h>
6
6
 
7
- #if MYSQL_VERSION_ID >=80000
7
+ /* MySQL 8.0 replaces my_bool with C99 bool. Earlier versions of MySQL had
8
+ * a typedef to char. Gem users reported failures on big endian systems when
9
+ * using C99 bool types with older MySQLs due to mismatched behavior.
10
+ */
11
+ #ifndef HAVE_TYPE_MY_BOOL
12
+ #include <stdbool.h>
8
13
  typedef bool my_bool;
9
14
  #endif
10
15
 
11
16
  typedef struct {
12
17
  VALUE encoding;
13
- VALUE active_thread;
18
+ VALUE active_fiber; /* rb_fiber_current() or Qnil */
14
19
  long server_version;
15
20
  int reconnect_enabled;
16
- int connect_timeout;
21
+ unsigned int connect_timeout;
17
22
  int active;
18
- int connected;
23
+ int automatic_close;
19
24
  int initialized;
20
25
  int refcount;
21
- int freed;
26
+ int closed;
22
27
  MYSQL *client;
23
28
  } mysql_client_wrapper;
24
29
 
30
+ extern const rb_data_type_t rb_mysql_client_type;
25
31
 
26
32
  static MYSQL * mysql_connection(VALUE rb_mysql2_client)
27
33
  {
28
34
  mysql_client_wrapper *wrapper;
29
- Data_Get_Struct(rb_mysql2_client, mysql_client_wrapper, wrapper);
35
+ TypedData_Get_Struct(rb_mysql2_client, mysql_client_wrapper, &rb_mysql_client_type, wrapper);
30
36
  return wrapper->client;
31
37
  }
32
38
 
@@ -1,3 +1,3 @@
1
1
  class MysqlBlobStreaming
2
- VERSION = "2.4.0"
2
+ VERSION = '2.5.1'
3
3
  end
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mysql_blob_streaming
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infopark AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-26 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.4
20
- - - "<"
19
+ version: '0.5'
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.6.0
22
+ version: 0.5.5
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.4.4
30
- - - "<"
29
+ version: '0.5'
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.6.0
32
+ version: 0.5.5
33
33
  description: " This GEM is required by the infopark_fiona_connector when using
34
34
  MySQL.\n"
35
35
  email: info@infopark.de
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  version: '0'
67
67
  requirements:
68
68
  - infopark_fiona_connector
69
- rubygems_version: 3.0.9
69
+ rubygems_version: 3.4.5
70
70
  signing_key:
71
71
  specification_version: 4
72
72
  summary: A blob streaming extension for the native Ruby-MySQL2 adapter