fibered_mysql2 0.2.0.pre.1 → 0.2.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b96c3d593486e68e9bcb79ba3ece18c5bde2a4847cf6007b3711595a72491147
|
4
|
+
data.tar.gz: 57d3a719e17231f2582694a1590e8e6d43567bb75797ddc17b2591fe9e285ab0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ec023e83475110f906ae85d79ffbe369014cfe33d71797ba09c3c3666f9af25353cac11d5f6ec6e7f5484f911b4b2310bcb44ff37d0510fe15c2e8d3d65daa7
|
7
|
+
data.tar.gz: 461cccb73f19c36f9a019a04955c492ef572a63540b6f0a849f02c9c1c640d996ed02cbf43150b195168710333d08b17b0e584d934e8811e6de10c1ba84cd92f
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,10 @@ Inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
5
5
|
Note: this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
## [0.2.0] - 2023-01-12
|
8
|
+
### Added
|
9
|
+
- Added support for Rails 6+ by adding knowledge of lazy transactions to the adapter.
|
10
|
+
|
7
11
|
## [0.1.5] - 2022-03-25
|
8
12
|
### Changed
|
9
13
|
- Upgraded Bundler to 2.2.29 and Ruby to 2.7.5. Removed support for Rails 4.
|
@@ -37,6 +41,7 @@ threaded, not fibered.
|
|
37
41
|
- Added TravisCI unit test pipeline.
|
38
42
|
- Added coverage reports via Coveralls.
|
39
43
|
|
44
|
+
[0.2.0]: https://github.com/Invoca/fibered_mysql2/compare/v0.1.5..v0.2.0
|
40
45
|
[0.1.5]: https://github.com/Invoca/fibered_mysql2/compare/v0.1.4..v0.1.5
|
41
46
|
[0.1.4]: https://github.com/Invoca/fibered_mysql2/compare/v0.1.3..v0.1.4
|
42
47
|
[0.1.3]: https://github.com/Invoca/fibered_mysql2/compare/v0.1.2..v0.1.3
|
data/Gemfile.lock
CHANGED
@@ -75,14 +75,8 @@ module FiberedMysql2
|
|
75
75
|
case ::Rails::VERSION::MAJOR
|
76
76
|
when 4
|
77
77
|
include FiberedMysql2Adapter_4_2
|
78
|
-
when 5
|
78
|
+
when 5, 6
|
79
79
|
include FiberedMysql2Adapter_5_2
|
80
|
-
when 6
|
81
|
-
include FiberedMysql2Adapter_5_2
|
82
|
-
|
83
|
-
def supports_lazy_transactions?
|
84
|
-
false
|
85
|
-
end
|
86
80
|
end
|
87
81
|
|
88
82
|
def initialize(*args)
|
@@ -47,6 +47,53 @@ module EM::Synchrony
|
|
47
47
|
transaction
|
48
48
|
end
|
49
49
|
end
|
50
|
+
|
51
|
+
# Overriding the ActiveRecord::TransactionManager#materialize_transactions method to use
|
52
|
+
# fiber safe the _current_stack instead of the @stack instance variable. when marterializing
|
53
|
+
# transactions.
|
54
|
+
def materialize_transactions
|
55
|
+
return if @materializing_transactions
|
56
|
+
return unless @has_unmaterialized_transactions
|
57
|
+
|
58
|
+
@connection.lock.synchronize do
|
59
|
+
begin
|
60
|
+
@materializing_transactions = true
|
61
|
+
_current_stack.each { |t| t.materialize! unless t.materialized? }
|
62
|
+
ensure
|
63
|
+
@materializing_transactions = false
|
64
|
+
end
|
65
|
+
@has_unmaterialized_transactions = false
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# Overriding the ActiveRecord::TransactionManager#commit_transaction method to use
|
70
|
+
# fiber safe the _current_stack instead of the @stack instance variable. when marterializing
|
71
|
+
# transactions.
|
72
|
+
def commit_transaction
|
73
|
+
@connection.lock.synchronize do
|
74
|
+
transaction = _current_stack.last
|
75
|
+
|
76
|
+
begin
|
77
|
+
transaction.before_commit_records
|
78
|
+
ensure
|
79
|
+
_current_stack.pop
|
80
|
+
end
|
81
|
+
|
82
|
+
transaction.commit
|
83
|
+
transaction.commit_records
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# Overriding the ActiveRecord::TransactionManager#rollback_transaction method to use
|
88
|
+
# fiber safe the _current_stack instead of the @stack instance variable. when marterializing
|
89
|
+
# transactions.
|
90
|
+
def rollback_transaction(transaction = nil)
|
91
|
+
@connection.lock.synchronize do
|
92
|
+
transaction ||= _current_stack.pop
|
93
|
+
transaction.rollback
|
94
|
+
transaction.rollback_records
|
95
|
+
end
|
96
|
+
end
|
50
97
|
end
|
51
98
|
end
|
52
99
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fibered_mysql2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Invoca Development
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-synchrony
|
@@ -89,9 +89,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- - "
|
92
|
+
- - ">="
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
94
|
+
version: '0'
|
95
95
|
requirements: []
|
96
96
|
rubygems_version: 3.1.6
|
97
97
|
signing_key:
|