activerecord-transaction_subscriber 0.1.1 → 0.1.3

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: 9881885062f374f29e57fd75227b0b21a1327586e0aa066a0284f15ceb1ad8f7
4
- data.tar.gz: 65f9b1dd002cbea6bb89bdc01476cd877877b44ba097e73653c6992797271137
3
+ metadata.gz: 1390a414cdcade726071ee89877878015c09e15ebd9d00638c44bf8159fa9b00
4
+ data.tar.gz: c3d296d57c029879dfa9357f8c4088d29403762749e968eb22dfe8498a300393
5
5
  SHA512:
6
- metadata.gz: e98d8810c0586669743e72af298e4d9c5391c899e44145457047ad4b9dbe417c88e735f56496de3fcfc89a65059610f7c36f5e84c572f86350186a2b4c2132f1
7
- data.tar.gz: 982d2e43ce6d789fe1a3ac5162b5a358bce023a24b0c33574e6a49e759bc5f5fa79f98cce70dcca067b900ae3c5bf867e8268a06e60c340f1ce0d78fa9fe4eda
6
+ metadata.gz: a8bec2b5d384ff332c7e2a8fd43b7d8ec08c928ce6c97d3c11b8b54690266842589e872e6aa5b90a5bd9a7cb82aa32b596cd4212b21ee1f347c596f70ff557b7
7
+ data.tar.gz: 704810d08dc109dfd16fe7498dd237f969520b01028daef09886c16216397c77a6d338669694f96ad7a1770c4a07139edfe78bc1f00d129d09a656a967440495
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.3] - 2023-09-15
4
+
5
+ - Add ActiveRecord::LogSubscriber
6
+ - Show SQL statement
7
+
8
+ ## [0.1.2] - 2023-09-15
9
+
10
+ - Relaxed ActiveRecord version restrictions
11
+
3
12
  ## [0.1.1] - 2023-08-22
4
13
 
5
14
  - Delete unnecessary files
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'active_record'
4
+ require 'active_record/log_subscriber'
5
+
3
6
  module ActiveRecord
4
- class TransactionSubscriber
5
- VERSION = "0.1.1"
7
+ class TransactionSubscriber < LogSubscriber
8
+ VERSION = '0.1.3'
6
9
  end
7
10
  end
@@ -1,26 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "transaction_subscriber/version"
3
+ require 'active_record'
4
+ require 'active_record/log_subscriber'
5
+
6
+ require_relative 'transaction_subscriber/version'
4
7
 
5
8
  module ActiveRecord
6
- class TransactionSubscriber < ActiveRecord::LogSubscriber
9
+ class TransactionSubscriber < LogSubscriber
7
10
  thread_mattr_accessor :transactions
8
11
 
9
12
  def sql(event)
10
13
  payload = event.payload
11
14
  return if payload[:cached]
12
15
 
13
- sql = payload[:sql]
16
+ sql_statement = payload[:sql]
14
17
 
15
18
  case payload[:name]
16
19
  when 'TRANSACTION'
17
- case sql
20
+ case sql_statement
18
21
  when 'BEGIN', 'SAVEPOINT'
19
22
  my_transactions << { start_at: event.time }
20
23
  when 'COMMIT', 'ROLLBACK'
21
24
  tx = my_transactions.pop
22
25
  if tx
23
- logging(payload[:name], tx, event.end)
26
+ logging(sql_statement, tx, event.end)
24
27
  end
25
28
  else
26
29
  # Unknown transaction
@@ -30,7 +33,7 @@ module ActiveRecord
30
33
  else
31
34
  tx = my_transactions.last
32
35
  if tx
33
- type = sql_type(sql)
36
+ type = sql_type(sql_statement)
34
37
  if type
35
38
  tx[type] ||= []
36
39
  tx[type] << event.duration
@@ -43,9 +46,9 @@ module ActiveRecord
43
46
  self.class.transactions ||= []
44
47
  end
45
48
 
46
- def logging(name, tx, end_at)
49
+ def logging(sql_statement, tx, end_at)
47
50
  elapsed_time = ((end_at - tx[:start_at]) * 1000.0).round(1)
48
- text = " Transaction #{name} real time: #{elapsed_time}ms"
51
+ text = " Transaction #{sql_statement} real time: #{elapsed_time}ms"
49
52
  %i[lock select insert update delete].each do |type|
50
53
  next unless tx[type]
51
54
  count = tx[type].size
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-transaction_subscriber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ueda Satoshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-14 00:00:00.000000000 Z
11
+ date: 2023-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.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
26
  version: '5.0'
27
27
  description: The number of queries executed in a transaction, the execution time,