@@ -431,36 +431,28 @@ def type_map
431
431
TYPE_MAP
432
432
end
433
433
434
- def translate_exception ( e , message :, sql :, binds :)
434
+ def translate_exception ( exception , message :, sql :, binds :)
435
435
case message
436
436
when /(SQL Server client is not connected)|(failed to execute statement)/i
437
- ConnectionNotEstablished . new ( message )
437
+ ConnectionNotEstablished . new ( message , connection_pool : @pool )
438
438
when /(cannot insert duplicate key .* with unique index) | (violation of (unique|primary) key constraint)/i
439
- RecordNotUnique . new ( message , sql : sql , binds : binds )
439
+ RecordNotUnique . new ( message , sql : sql , binds : binds , connection_pool : @pool )
440
440
when /(conflicted with the foreign key constraint) | (The DELETE statement conflicted with the REFERENCE constraint)/i
441
- InvalidForeignKey . new ( message , sql : sql , binds : binds )
441
+ InvalidForeignKey . new ( message , sql : sql , binds : binds , connection_pool : @pool )
442
442
when /has been chosen as the deadlock victim/i
443
- DeadlockVictim . new ( message , sql : sql , binds : binds )
443
+ DeadlockVictim . new ( message , sql : sql , binds : binds , connection_pool : @pool )
444
444
when /database .* does not exist/i
445
- NoDatabaseError . new ( message )
445
+ NoDatabaseError . new ( message , connection_pool : @pool )
446
446
when /data would be truncated/
447
- ValueTooLong . new ( message , sql : sql , binds : binds )
447
+ ValueTooLong . new ( message , sql : sql , binds : binds , connection_pool : @pool )
448
448
when /connection timed out/
449
- StatementTimeout . new ( message , sql : sql , binds : binds )
449
+ StatementTimeout . new ( message , sql : sql , binds : binds , connection_pool : @pool )
450
450
when /Column '(.*)' is not the same data type as referencing column '(.*)' in foreign key/
451
- pk_id , fk_id = SQLServer ::Utils . extract_identifiers ( $1) , SQLServer ::Utils . extract_identifiers ( $2)
452
- MismatchedForeignKey . new (
453
- self ,
454
- message : message ,
455
- table : fk_id . schema ,
456
- foreign_key : fk_id . object ,
457
- target_table : pk_id . schema ,
458
- primary_key : pk_id . object
459
- )
451
+ MismatchedForeignKey . new ( message : message , connection_pool : @pool )
460
452
when /Cannot insert the value NULL into column.*does not allow nulls/
461
- NotNullViolation . new ( message , sql : sql , binds : binds )
453
+ NotNullViolation . new ( message , sql : sql , binds : binds , connection_pool : @pool )
462
454
when /Arithmetic overflow error/
463
- RangeError . new ( message , sql : sql , binds : binds )
455
+ RangeError . new ( message , sql : sql , binds : binds , connection_pool : @pool )
464
456
else
465
457
super
466
458
end
0 commit comments