db-mariadb 0.2.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8fabe415cca5af184bf390ff1b5b1425969de2dbe25e737300a34db551af7a58
4
- data.tar.gz: 5c5bcf025c974053073f14b370855250dfe18d47e08c69443fe94f01f5f3ae1f
3
+ metadata.gz: '035816431be310fe0576e3484d8567531a899ac9b5bde00ef6eae5f40d835c10'
4
+ data.tar.gz: 26e1ab9017bb812343fc61e98d2d23c1f197e4b7a5bcea97b2809a61df61bd6d
5
5
  SHA512:
6
- metadata.gz: eb6e3130b2001f143f945d6e8bcd0be8b2bf3688806b5564ef194567afc9a60c55ac6f40266df309876cbe96e832801a007d55eab016a44cd821c8807d371993
7
- data.tar.gz: 0fcf3a49347d074bda9d59479dea8dc59661e3b0ad5661cc1326a2dc6f4c25cc28d0d6a262a3221c19bb1416844b0ce3465ef70a1c56050f7d2318bfdac967ec
6
+ metadata.gz: 6d858c2bd63c590f05b12df2ee6f5fba4551c77fd668143a42d548a1d52ec6d5725fa4d94e9df235266d73996f8b31d5a4cd4bb1451cd59c1544e38825337ac6
7
+ data.tar.gz: 9becfe75e0c743be9c765904eaabf2f52b757d6532db7a04a7381414c4532496233c7dcf398ca23d681494b4f61258dc6db5653b6459b88f617582d0abe47e47
@@ -24,4 +24,4 @@ require_relative 'mariadb/connection'
24
24
  require_relative 'mariadb/adapter'
25
25
 
26
26
  require 'db/adapters'
27
- DB::Adapters.register(:mysql, DB::MariaDB::Adapter)
27
+ DB::Adapters.register(:mariadb, DB::MariaDB::Adapter)
@@ -21,16 +21,12 @@
21
21
  # THE SOFTWARE.
22
22
 
23
23
  require 'async/pool/resource'
24
+ require 'async/io/generic'
25
+
24
26
  require_relative 'native/connection'
25
27
 
26
28
  module DB
27
29
  module MariaDB
28
- module IO
29
- def self.new(fd, mode)
30
- Async::IO::Generic.new(::IO.new(fd, mode, autoclose: false))
31
- end
32
- end
33
-
34
30
  # This implements the interface between the underyling native interface interface and "standardised" connection interface.
35
31
  class Connection < Async::Pool::Resource
36
32
  def initialize(**options)
@@ -19,7 +19,7 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  require_relative 'result'
22
- require 'async/io/generic'
22
+ require_relative '../error'
23
23
 
24
24
  module DB
25
25
  module MariaDB
@@ -63,8 +63,14 @@ module DB
63
63
 
64
64
  attach_function :mysql_real_escape_string, [:pointer, :pointer, :string, :size_t], :size_t
65
65
 
66
+ module IO
67
+ def self.new(fd, mode)
68
+ Async::IO::Generic.new(::IO.new(fd, mode, autoclose: false))
69
+ end
70
+ end
71
+
66
72
  class Connection < FFI::Pointer
67
- def self.connect(io: IO, host: 'localhost', user: nil, password: nil, database: nil, port: 0, unix_socket: nil, client_flags: 0, compression: false, types: DEFAULT_TYPES, **options)
73
+ def self.connect(wrapper: IO, host: 'localhost', user: nil, password: nil, database: nil, port: 0, unix_socket: nil, client_flags: 0, compression: false, types: DEFAULT_TYPES, **options)
68
74
  pointer = Native.mysql_init(nil)
69
75
  Native.mysql_options(pointer, MYSQL_OPT_NONBLOCK, nil)
70
76
 
@@ -78,9 +84,9 @@ module DB
78
84
 
79
85
  status = Native.mysql_real_connect_start(result, pointer, host, user, password, database, port, unix_socket, client_flags);
80
86
 
87
+ io = wrapper.new(Native.mysql_get_socket(pointer), "r+")
88
+
81
89
  if status > 0
82
- io = IO.new(Native.mysql_get_socket(pointer), "r+")
83
-
84
90
  while status > 0
85
91
  if status & MYSQL_WAIT_READ
86
92
  io.wait_readable
@@ -22,6 +22,9 @@ require_relative '../native'
22
22
 
23
23
  require_relative 'types'
24
24
 
25
+ require 'date'
26
+ require 'json'
27
+
25
28
  module DB
26
29
  module MariaDB
27
30
  module Native
@@ -20,6 +20,6 @@
20
20
 
21
21
  module DB
22
22
  module MariaDB
23
- VERSION = "0.2.3"
23
+ VERSION = "0.5.0"
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-mariadb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.5.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: 2020-07-05 00:00:00.000000000 Z
11
+ date: 2020-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  requirements: []
146
- rubygems_version: 3.0.3
146
+ rubygems_version: 3.1.2
147
147
  signing_key:
148
148
  specification_version: 4
149
149
  summary: An event-driven interface for MariaDB and MySQL servers.