activerecord-transaction_subscriber 0.1.2 → 0.1.3

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: 5ed112644f1ad1b43a3bc2e86f38cae205d165e1438d87d3604ce4ccafbfb9c1
4
- data.tar.gz: d722661c4929dc5efad013175a0ad2086e3ab945913a082e2144902930fbc576
3
+ metadata.gz: 1390a414cdcade726071ee89877878015c09e15ebd9d00638c44bf8159fa9b00
4
+ data.tar.gz: c3d296d57c029879dfa9357f8c4088d29403762749e968eb22dfe8498a300393
5
5
  SHA512:
6
- metadata.gz: 43e3b55cb29224814ff1c2a2629e585a099451fcefac32133fa4bce87e390bd8e4fba981090d077c4e15305ace467231acf5921e908150c37a30299d1b5092d6
7
- data.tar.gz: 471be2e2ca94af2c753b14900ee91331fff3ae06c3e4834df69e1f69f9ae559dd9294cae905cd803d86817898de18d918c73725f7ee111c39e3dc1264102a988
6
+ metadata.gz: a8bec2b5d384ff332c7e2a8fd43b7d8ec08c928ce6c97d3c11b8b54690266842589e872e6aa5b90a5bd9a7cb82aa32b596cd4212b21ee1f347c596f70ff557b7
7
+ data.tar.gz: 704810d08dc109dfd16fe7498dd237f969520b01028daef09886c16216397c77a6d338669694f96ad7a1770c4a07139edfe78bc1f00d129d09a656a967440495
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.3] - 2023-09-15
4
+
5
+ - Add ActiveRecord::LogSubscriber
6
+ - Show SQL statement
7
+
3
8
  ## [0.1.2] - 2023-09-15
4
9
 
5
10
  - Relaxed ActiveRecord version restrictions
@@ -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.2"
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-transaction_subscriber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ueda Satoshi