db-mariadb 0.7.0 → 0.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a1f813a41ba085973e25fa022a584a0c120f18f12fe594bfaaf017e9472a398
4
- data.tar.gz: 071c14dabb9d116bc052deba2f6c5271de3a529da85751d4f80896e17b900944
3
+ metadata.gz: 1361a18c7962b2738a4517d48f0300ca47e251f59d244e6a8ea01bdbba1c52d6
4
+ data.tar.gz: a3c8b3415077fcf85b24fbf7e14631d3255bb6493a27e01edecd815ab41e8049
5
5
  SHA512:
6
- metadata.gz: b2d0d0378368327366ad5d307a6a512a32e1c583d16aa4ef4c32cc2947b83a3338789f2136a085c04de4cfd90c976ddfd338ef9dcf0ed1470330a6fd3f75610f
7
- data.tar.gz: 8b57240bc3ae4698c68ad0c6f74bf107a9cd6d3b38ec5be898359fec3a1d966ab42892e18da0e8167d27856165824e236424d607e380a0234a7da47772e78506
6
+ metadata.gz: 176fcc902974a6b081f3657cf5b8dbc31af020f0d173e145d171a9c7f78014a9c83f428e53ea66eeb9eefd2709a566a6211bc6fd6ea6e90096d8996a00af3041
7
+ data.tar.gz: 002a0289ca400aaab4dfffe4e45c70cf1472a4583b49688c7499db33754736bc5ae10de983c18247428c9f709935300d2ab8c59209faa9e8343d85a39a019c0c
@@ -18,14 +18,40 @@
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
20
 
21
- require 'ffi'
21
+ require 'ffi/module'
22
+ require 'ffi/module/config_tool'
22
23
 
23
24
  module DB
24
25
  module MariaDB
25
26
  module Native
26
- extend FFI::Library
27
+ extend FFI::Module::Library
28
+ extend FFI::Module::Loader
29
+ extend FFI::Module::ConfigTool
27
30
 
28
- ffi_lib 'mariadb'
31
+ ffi_load('mariadb') ||
32
+ ffi_load_using_config_tool(%w{mariadb_config --libs}) ||
33
+ ffi_load_using_config_tool(%w{mysql_config --libs}) ||
34
+ ffi_load_failure(<<~EOF)
35
+ Unable to load libmariadb!
36
+
37
+ ## Ubuntu
38
+
39
+ sudo apt-get install libmariadb-dev
40
+
41
+ ## Arch Linux
42
+
43
+ sudo pacman -S mariadb
44
+
45
+ ## MacPorts
46
+
47
+ sudo port install mariadb-10.5
48
+ sudo port select --set mysql mariadb-10.5
49
+
50
+ ## Homebrew
51
+
52
+ brew install mariadb
53
+
54
+ EOF
29
55
  end
30
56
  end
31
57
  end
@@ -39,32 +39,32 @@ module DB
39
39
  CLIENT_MULTI_STATEMENT = 0x00010000
40
40
  CLIENT_MULTI_RESULTS = 0x00020000
41
41
 
42
- attach_function :mysql_init, [:pointer], :pointer
43
- attach_function :mysql_options, [:pointer, :int, :pointer], :int
44
- attach_function :mysql_get_socket, [:pointer], :int
42
+ ffi_attach_function :mysql_init, [:pointer], :pointer
43
+ ffi_attach_function :mysql_options, [:pointer, :int, :pointer], :int
44
+ ffi_attach_function :mysql_get_socket, [:pointer], :int
45
45
 
46
- attach_function :mysql_real_connect_start, [:pointer, :pointer, :string, :string, :string, :string, :int, :string, :long], :int
47
- attach_function :mysql_real_connect_cont, [:pointer, :pointer, :int], :int
46
+ ffi_attach_function :mysql_real_connect_start, [:pointer, :pointer, :string, :string, :string, :string, :int, :string, :long], :int
47
+ ffi_attach_function :mysql_real_connect_cont, [:pointer, :pointer, :int], :int
48
48
 
49
- attach_function :mysql_real_query_start, [:pointer, :pointer, :string, :ulong], :int
50
- attach_function :mysql_real_query_cont, [:pointer, :pointer, :int], :int
49
+ ffi_attach_function :mysql_real_query_start, [:pointer, :pointer, :string, :ulong], :int
50
+ ffi_attach_function :mysql_real_query_cont, [:pointer, :pointer, :int], :int
51
51
 
52
- attach_function :mysql_use_result, [:pointer], :pointer
53
- attach_function :mysql_next_result, [:pointer], :int
54
- attach_function :mysql_more_results, [:pointer], :int
55
- attach_function :mysql_free_result, [:pointer], :void
52
+ ffi_attach_function :mysql_use_result, [:pointer], :pointer
53
+ ffi_attach_function :mysql_next_result, [:pointer], :int
54
+ ffi_attach_function :mysql_more_results, [:pointer], :int
55
+ ffi_attach_function :mysql_free_result, [:pointer], :void
56
56
 
57
- attach_function :mysql_affected_rows, [:pointer], :uint64
58
- attach_function :mysql_insert_id, [:pointer], :uint64
59
- attach_function :mysql_info, [:pointer], :string
57
+ ffi_attach_function :mysql_affected_rows, [:pointer], :uint64
58
+ ffi_attach_function :mysql_insert_id, [:pointer], :uint64
59
+ ffi_attach_function :mysql_info, [:pointer], :string
60
60
 
61
- attach_function :mysql_close, [:pointer], :void
62
- attach_function :mysql_errno, [:pointer], :uint
63
- attach_function :mysql_error, [:pointer], :string
61
+ ffi_attach_function :mysql_close, [:pointer], :void
62
+ ffi_attach_function :mysql_errno, [:pointer], :uint
63
+ ffi_attach_function :mysql_error, [:pointer], :string
64
64
 
65
- attach_function :mysql_stat, [:pointer], :string
65
+ ffi_attach_function :mysql_stat, [:pointer], :string
66
66
 
67
- attach_function :mysql_real_escape_string, [:pointer, :pointer, :string, :size_t], :size_t
67
+ ffi_attach_function :mysql_real_escape_string, [:pointer, :pointer, :string, :size_t], :size_t
68
68
 
69
69
  module IO
70
70
  def self.new(fd, mode)
@@ -28,7 +28,7 @@ require 'json'
28
28
  module DB
29
29
  module MariaDB
30
30
  module Native
31
- Type = enum(
31
+ Type = ffi_define_enumeration(:field_type, [
32
32
  :decimal,
33
33
  :tiny,
34
34
  :short,
@@ -57,7 +57,7 @@ module DB
57
57
  :var_string,
58
58
  :string,
59
59
  :geometry,
60
- )
60
+ ])
61
61
 
62
62
  DEFAULT_TYPES = {
63
63
  decimal: Types::Decimal,
@@ -23,13 +23,13 @@ require_relative 'field'
23
23
  module DB
24
24
  module MariaDB
25
25
  module Native
26
- attach_function :mysql_fetch_row_start, [:pointer, :pointer], :int
27
- attach_function :mysql_fetch_row_cont, [:pointer, :pointer, :int], :int
26
+ ffi_attach_function :mysql_fetch_row_start, [:pointer, :pointer], :int
27
+ ffi_attach_function :mysql_fetch_row_cont, [:pointer, :pointer, :int], :int
28
28
 
29
- attach_function :mysql_num_rows, [:pointer], :uint64
30
- attach_function :mysql_num_fields, [:pointer], :uint32
29
+ ffi_attach_function :mysql_num_rows, [:pointer], :uint64
30
+ ffi_attach_function :mysql_num_fields, [:pointer], :uint32
31
31
 
32
- attach_function :mysql_fetch_fields, [:pointer], :pointer
32
+ ffi_attach_function :mysql_fetch_fields, [:pointer], :pointer
33
33
 
34
34
  class Result < FFI::Pointer
35
35
  def initialize(connection, types = {}, address)
@@ -20,6 +20,6 @@
20
20
 
21
21
  module DB
22
22
  module MariaDB
23
- VERSION = "0.7.0"
23
+ VERSION = "0.8.0"
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-mariadb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: ffi
14
+ name: ffi-module
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-io
29
29
  requirement: !ruby/object:Gem::Requirement