Skip to content

Commit f4711b6

Browse files
authored
Propagate original callstack, save a fiber allocation if unnecessary (#503)
1 parent ecae4d7 commit f4711b6

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/granite/connection_management.cr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ module Granite::ConnectionManagement
5151
end
5252

5353
def self.schedule_adapter_switch
54+
return if @@writer_adapter == @@reader_adapter
55+
5456
spawn do
5557
sleep @@connection_switch_wait_period.milliseconds
5658
switch_to_reader_adapter

src/granite/transactions.cr

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ module Granite::Transactions
6868
end
6969
{% end %}
7070
rescue err
71-
raise DB::Error.new(err.message)
71+
raise DB::Error.new(err.message, cause: err)
7272
end
7373

7474
# Runs an INSERT statement for all records in *model_array*, with options to
@@ -92,7 +92,7 @@ module Granite::Transactions
9292
end
9393
{% end %}
9494
rescue err
95-
raise DB::Error.new(err.message)
95+
raise DB::Error.new(err.message, cause: err)
9696
end
9797

9898
def import(model_array : Array(self) | Granite::Collection(self), ignore_on_duplicate : Bool, batch_size : Int32 = model_array.size)
@@ -114,7 +114,7 @@ module Granite::Transactions
114114
end
115115
{% end %}
116116
rescue err
117-
raise DB::Error.new(err.message)
117+
raise DB::Error.new(err.message, cause: err)
118118
end
119119
end
120120

@@ -176,7 +176,7 @@ module Granite::Transactions
176176
rescue err : DB::Error
177177
raise err
178178
rescue err
179-
raise DB::Error.new(err.message)
179+
raise DB::Error.new(err.message, cause: err)
180180
else
181181
self.new_record = false
182182
end
@@ -199,7 +199,7 @@ module Granite::Transactions
199199
begin
200200
self.class.adapter.update(self.class.table_name, self.class.primary_name, fields, params)
201201
rescue err
202-
raise DB::Error.new(err.message)
202+
raise DB::Error.new(err.message, cause: err)
203203
end
204204
{% end %}
205205
end

0 commit comments

Comments
 (0)