sequel-hexspace 2.0.1 → 2.1.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: 8ce1fd4d7fed71e9678ed12c286b3a1b1e0bff80d52ef2d78c222a52e7a09713
4
- data.tar.gz: 9ae18e5f352c95e8390d6d26ea09d217f63dad5c105a2bd30b2290c87483d566
3
+ metadata.gz: 3e153e547686ee27d1f2b2cef78322d3083143b403cd823d76736104a6bb00b6
4
+ data.tar.gz: 1b44110b0fe9c52bb486b1fe6efd95dc3c7ddee20c4dc85b0ef11e271ea42480
5
5
  SHA512:
6
- metadata.gz: f35426bc639c4dcf948f425629ef4ec895cc0c0334106c60461b18acb28ee4cf7b0067f6f36196a57d6ba8535476b018b6c1b9b210f1f5e06c2af397cb2760ce
7
- data.tar.gz: d308e6d823bf60ddacfc2578e3b09a1892e376863ec5101573f4cc6a7c3fd7b496362288c63a0e8ec5ec595f95a981713fe6c4fca5588b9872ce95152d44d8d9
6
+ metadata.gz: c58c7cf475ccb183abde1831b2221ee0d00b44f52a2e57387a3c66838acb098f629fa93136b5671d03a6e74d587f5f907452e95c00a970a596b0bd477e64780c
7
+ data.tar.gz: a653a84799e64f687e7511396f8947646a7002a43bfbcec7a2140282ce455b7df13deba31984cca31a0b958d25d1c3f2c1e5add85630da346bb3cd472b948d8c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.1.0] - 2026-10-26
4
+
5
+ ### Changed
6
+
7
+ - Require `hexspace >= 0.4, < 0.5` (was `>= 0.2.1, < 0.4`) and
8
+ `thrift >= 0.25, < 0.26` (was `>= 0.23, < 0.25`). hexspace 0.4.0 regenerated
9
+ its Thrift client against thrift 0.25, which it now requires. A project on
10
+ hexspace 0.3 or thrift 0.24 must upgrade them to use this release.
11
+ - Delete the `Thrift::Client` compatibility shim. It restored two methods that
12
+ thrift 0.24 removed and that hexspace 0.3's client still called. hexspace 0.4's
13
+ client does not call them.
14
+
3
15
  ## [2.0.1] - 2026-10-07
4
16
 
5
17
  ### Fixed
@@ -68,3 +80,4 @@ The list is reconstructed from git history.
68
80
 
69
81
  [2.0.0]: https://github.com/outcomesinsights/sequel-hexspace/compare/v1.0.0...v2.0.0
70
82
  [2.0.1]: https://github.com/outcomesinsights/sequel-hexspace/compare/v2.0.0...v2.0.1
83
+ [2.1.0]: https://github.com/outcomesinsights/sequel-hexspace/compare/v2.0.1...v2.1.0
@@ -1,6 +1,5 @@
1
1
  require_relative "shared/hexspace"
2
2
  require "hexspace"
3
- require_relative "hexspace/thrift_compat"
4
3
 
5
4
  module Sequel
6
5
  module Hexspace
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel-hexspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
@@ -30,40 +30,40 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.2.1
33
+ version: '0.4'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '0.4'
36
+ version: '0.5'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.2.1
43
+ version: '0.4'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.4'
46
+ version: '0.5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: thrift
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '0.23'
53
+ version: '0.25'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '0.25'
56
+ version: '0.26'
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: '0.23'
63
+ version: '0.25'
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: '0.25'
66
+ version: '0.26'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: minitest
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -140,7 +140,6 @@ files:
140
140
  - LICENSE
141
141
  - README
142
142
  - lib/sequel/adapters/hexspace.rb
143
- - lib/sequel/adapters/hexspace/thrift_compat.rb
144
143
  - lib/sequel/adapters/shared/hexspace.rb
145
144
  - lib/sequel/adapters/shared/spark.rb
146
145
  homepage: https://github.com/outcomesinsights/sequel-hexspace
@@ -1,54 +0,0 @@
1
- # rubocop:disable all
2
- # Restore Thrift::Client#handle_exception and #reply_seqid for thrift >= 0.24.
3
- #
4
- # hexspace's generated Thrift client (lib/hexspace/tcli_service.rb) calls both,
5
- # 21 times each. thrift 0.24.0 removed them, folding their work into the new
6
- # #validate_message_begin -- so on thrift 0.24 every Spark connection dies in
7
- # recv_OpenSession with NoMethodError, surfacing as
8
- # Sequel::DatabaseConnectionError.
9
- #
10
- # Upstream will not fix this for us: hexspace's generated client is untouched
11
- # since 2023-05-08, the latest release (0.3.0, Apr 2025) predates thrift 0.24,
12
- # and no issue or PR there mentions thrift. Regenerating that client against
13
- # 0.24 would drop support for thrift < 0.24, which is a maintainer's decision
14
- # rather than ours to force.
15
- #
16
- # Both methods are restored verbatim from thrift 0.23.0 and are implemented
17
- # purely in terms of primitives thrift 0.24 still provides and still uses in
18
- # validate_message_begin. The dequeue accounting is unchanged: exactly one
19
- # dequeue_pending_seqid per call on both the reply and the exception path.
20
- #
21
- # Note this keeps 0.23 semantics -- it does NOT add 0.24's stricter checks for
22
- # invalid message type and wrong method name. Remove once hexspace regenerates
23
- # its client against thrift >= 0.24.
24
- if defined?(Thrift::Client)
25
- # Both method bodies below are copied verbatim from thrift 0.23.0 and
26
- # deliberately not restyled: keeping them byte-comparable with upstream is
27
- # what makes them auditable. That is enforced by the `rubocop:disable all` on
28
- # this file's first line, which rubocop honours however it is invoked -- a
29
- # .rubocop.yml Exclude is not, because rubocop ignores Exclude for a path named
30
- # on the command line and treefmt names them. This file holds the shim and
31
- # nothing else so the rest of the adapter stays linted.
32
- #
33
- # reply_seqid also cannot be renamed to a predicate -- hexspace's generated
34
- # client calls it by that exact name.
35
- module Thrift
36
- module Client
37
- unless method_defined?(:handle_exception) || private_method_defined?(:handle_exception)
38
- def handle_exception(mtype)
39
- if mtype == MessageTypes::EXCEPTION
40
- dequeue_pending_seqid
41
- raise_application_exception
42
- end
43
- end
44
- end
45
-
46
- unless method_defined?(:reply_seqid) || private_method_defined?(:reply_seqid)
47
- def reply_seqid(rseqid)
48
- expected_seqid = dequeue_pending_seqid
49
- !expected_seqid.nil? && rseqid == expected_seqid
50
- end
51
- end
52
- end
53
- end
54
- end