sequel 4.34.0 → 4.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +30 -0
  3. data/Rakefile +14 -17
  4. data/doc/object_model.rdoc +4 -4
  5. data/doc/release_notes/4.35.0.txt +130 -0
  6. data/doc/schema_modification.rdoc +8 -3
  7. data/doc/security.rdoc +3 -3
  8. data/lib/sequel/adapters/ado.rb +2 -2
  9. data/lib/sequel/adapters/ado/access.rb +6 -6
  10. data/lib/sequel/adapters/ado/mssql.rb +2 -2
  11. data/lib/sequel/adapters/amalgalite.rb +6 -6
  12. data/lib/sequel/adapters/cubrid.rb +4 -4
  13. data/lib/sequel/adapters/do.rb +2 -2
  14. data/lib/sequel/adapters/do/mysql.rb +1 -1
  15. data/lib/sequel/adapters/do/postgres.rb +1 -1
  16. data/lib/sequel/adapters/do/sqlite3.rb +1 -1
  17. data/lib/sequel/adapters/ibmdb.rb +6 -6
  18. data/lib/sequel/adapters/jdbc.rb +15 -15
  19. data/lib/sequel/adapters/jdbc/db2.rb +1 -1
  20. data/lib/sequel/adapters/jdbc/derby.rb +3 -3
  21. data/lib/sequel/adapters/jdbc/h2.rb +3 -3
  22. data/lib/sequel/adapters/jdbc/hsqldb.rb +2 -2
  23. data/lib/sequel/adapters/jdbc/mssql.rb +1 -1
  24. data/lib/sequel/adapters/jdbc/mysql.rb +1 -1
  25. data/lib/sequel/adapters/jdbc/oracle.rb +1 -1
  26. data/lib/sequel/adapters/jdbc/postgresql.rb +2 -2
  27. data/lib/sequel/adapters/jdbc/sqlanywhere.rb +1 -1
  28. data/lib/sequel/adapters/jdbc/sqlite.rb +1 -1
  29. data/lib/sequel/adapters/jdbc/transactions.rb +10 -10
  30. data/lib/sequel/adapters/mock.rb +1 -1
  31. data/lib/sequel/adapters/mysql.rb +2 -2
  32. data/lib/sequel/adapters/mysql2.rb +2 -2
  33. data/lib/sequel/adapters/odbc.rb +2 -2
  34. data/lib/sequel/adapters/odbc/mssql.rb +2 -2
  35. data/lib/sequel/adapters/oracle.rb +9 -9
  36. data/lib/sequel/adapters/postgres.rb +3 -3
  37. data/lib/sequel/adapters/shared/mssql.rb +36 -8
  38. data/lib/sequel/adapters/shared/oracle.rb +15 -0
  39. data/lib/sequel/adapters/shared/postgres.rb +22 -1
  40. data/lib/sequel/adapters/sqlanywhere.rb +1 -1
  41. data/lib/sequel/adapters/sqlite.rb +7 -7
  42. data/lib/sequel/adapters/swift.rb +3 -3
  43. data/lib/sequel/adapters/swift/mysql.rb +1 -1
  44. data/lib/sequel/adapters/swift/postgres.rb +1 -1
  45. data/lib/sequel/adapters/swift/sqlite.rb +1 -1
  46. data/lib/sequel/adapters/tinytds.rb +5 -7
  47. data/lib/sequel/database/logging.rb +18 -3
  48. data/lib/sequel/database/misc.rb +19 -8
  49. data/lib/sequel/database/schema_generator.rb +7 -2
  50. data/lib/sequel/database/schema_methods.rb +9 -2
  51. data/lib/sequel/database/transactions.rb +52 -18
  52. data/lib/sequel/dataset/actions.rb +24 -19
  53. data/lib/sequel/dataset/features.rb +5 -0
  54. data/lib/sequel/dataset/query.rb +6 -0
  55. data/lib/sequel/extensions/_pretty_table.rb +1 -1
  56. data/lib/sequel/extensions/error_sql.rb +3 -3
  57. data/lib/sequel/extensions/pg_range.rb +10 -1
  58. data/lib/sequel/extensions/schema_dumper.rb +8 -5
  59. data/lib/sequel/extensions/server_logging.rb +61 -0
  60. data/lib/sequel/extensions/sql_comments.rb +91 -0
  61. data/lib/sequel/model/associations.rb +40 -8
  62. data/lib/sequel/model/base.rb +19 -5
  63. data/lib/sequel/plugins/class_table_inheritance.rb +12 -0
  64. data/lib/sequel/plugins/delay_add_association.rb +1 -0
  65. data/lib/sequel/plugins/json_serializer.rb +10 -2
  66. data/lib/sequel/version.rb +1 -1
  67. data/spec/adapter_spec.rb +4 -0
  68. data/spec/adapters/mysql_spec.rb +1 -1
  69. data/spec/adapters/postgres_spec.rb +3 -2
  70. data/spec/core/connection_pool_spec.rb +2 -0
  71. data/spec/core/database_spec.rb +49 -0
  72. data/spec/core/dataset_spec.rb +25 -1
  73. data/spec/core/mock_adapter_spec.rb +3 -1
  74. data/spec/core/schema_generator_spec.rb +1 -1
  75. data/spec/core_model_spec.rb +2 -0
  76. data/spec/core_spec.rb +1 -0
  77. data/spec/extensions/delay_add_association_spec.rb +22 -0
  78. data/spec/extensions/json_serializer_spec.rb +6 -0
  79. data/spec/extensions/pg_range_spec.rb +30 -2
  80. data/spec/extensions/schema_dumper_spec.rb +3 -2
  81. data/spec/extensions/server_logging_spec.rb +45 -0
  82. data/spec/extensions/sql_comments_spec.rb +27 -0
  83. data/spec/files/reversible_migrations/006_reversible.rb +10 -0
  84. data/spec/files/reversible_migrations/007_reversible.rb +10 -0
  85. data/spec/integration/dataset_test.rb +28 -2
  86. data/spec/integration/migrator_test.rb +23 -1
  87. data/spec/integration/schema_test.rb +12 -32
  88. data/spec/integration/transaction_test.rb +10 -0
  89. data/spec/integration/type_test.rb +1 -1
  90. data/spec/model/eager_loading_spec.rb +16 -0
  91. data/spec/model/record_spec.rb +9 -0
  92. data/spec/model_no_assoc_spec.rb +1 -0
  93. data/spec/model_spec.rb +1 -0
  94. data/spec/plugin_spec.rb +1 -0
  95. metadata +16 -2
@@ -52,7 +52,7 @@ module Sequel
52
52
  synchronize(opts[:server]) do |conn|
53
53
  begin
54
54
  command = conn.create_command(sql)
55
- res = log_yield(sql){block_given? ? command.execute_reader : command.execute_non_query}
55
+ res = log_connection_yield(sql, conn){block_given? ? command.execute_reader : command.execute_non_query}
56
56
  rescue ::DataObjects::Error => e
57
57
  raise_error(e)
58
58
  end
@@ -126,7 +126,7 @@ module Sequel
126
126
 
127
127
  # Execute SQL on the connection by creating a command first
128
128
  def log_connection_execute(conn, sql)
129
- log_yield(sql){conn.create_command(sql).execute_non_query}
129
+ log_connection_yield(sql, conn){conn.create_command(sql).execute_non_query}
130
130
  end
131
131
 
132
132
  # Allow extending the given connection when it is first created.
@@ -36,7 +36,7 @@ module Sequel
36
36
 
37
37
  # Apply the connectiong setting SQLs for every new connection.
38
38
  def setup_connection(conn)
39
- mysql_connection_setting_sqls.each{|sql| log_yield(sql){conn.create_command(sql).execute_non_query}}
39
+ mysql_connection_setting_sqls.each{|sql| log_connection_yield(sql, conn){conn.create_command(sql).execute_non_query}}
40
40
  super
41
41
  end
42
42
  end
@@ -35,7 +35,7 @@ module Sequel
35
35
  # Extend the adapter with the DataObjects PostgreSQL AdapterMethods
36
36
  def setup_connection(conn)
37
37
  conn = super(conn)
38
- connection_configuration_sqls.each{|sql| log_yield(sql){conn.create_command(sql).execute_non_query}}
38
+ connection_configuration_sqls.each{|sql| log_connection_yield(sql, conn){conn.create_command(sql).execute_non_query}}
39
39
  conn
40
40
  end
41
41
  end
@@ -32,7 +32,7 @@ module Sequel
32
32
  def setup_connection(conn)
33
33
  connection_pragmas.each do |s|
34
34
  com = conn.create_command(s)
35
- log_yield(s){com.execute_non_query}
35
+ log_connection_yield(s, conn){com.execute_non_query}
36
36
  end
37
37
  super
38
38
  end
@@ -242,7 +242,7 @@ module Sequel
242
242
  sql = ps.prepared_sql
243
243
  synchronize(opts[:server]) do |conn|
244
244
  unless conn.prepared_statements.fetch(ps_name, []).first == sql
245
- log_yield("PREPARE #{ps_name}: #{sql}"){conn.prepare(sql, ps_name)}
245
+ log_connection_yield("PREPARE #{ps_name}: #{sql}", conn){conn.prepare(sql, ps_name)}
246
246
  end
247
247
  args = args.map{|v| v.nil? ? nil : prepared_statement_arg(v)}
248
248
  log_sql = "EXECUTE #{ps_name}"
@@ -252,7 +252,7 @@ module Sequel
252
252
  log_sql << ")"
253
253
  end
254
254
  begin
255
- stmt = log_yield(log_sql, args){conn.execute_prepared(ps_name, *args)}
255
+ stmt = log_connection_yield(log_sql, conn, args){conn.execute_prepared(ps_name, *args)}
256
256
  if block_given?
257
257
  yield(stmt)
258
258
  else
@@ -268,7 +268,7 @@ module Sequel
268
268
 
269
269
  # Execute the given SQL on the database.
270
270
  def _execute(conn, sql, opts)
271
- stmt = log_yield(sql){conn.execute(sql)}
271
+ stmt = log_connection_yield(sql, conn){conn.execute(sql)}
272
272
  if block_given?
273
273
  yield(stmt)
274
274
  else
@@ -286,14 +286,14 @@ module Sequel
286
286
  # IBM_DB uses an autocommit setting instead of sending SQL queries.
287
287
  # So starting a transaction just turns autocommit off.
288
288
  def begin_transaction(conn, opts=OPTS)
289
- log_yield(TRANSACTION_BEGIN){conn.autocommit = false}
289
+ log_connection_yield(TRANSACTION_BEGIN, conn){conn.autocommit = false}
290
290
  set_transaction_isolation(conn, opts)
291
291
  end
292
292
 
293
293
  # This commits transaction in progress on the
294
294
  # connection and sets autocommit back on.
295
295
  def commit_transaction(conn, opts=OPTS)
296
- log_yield(TRANSACTION_COMMIT){conn.commit}
296
+ log_connection_yield(TRANSACTION_COMMIT, conn){conn.commit}
297
297
  end
298
298
 
299
299
  def database_error_classes
@@ -337,7 +337,7 @@ module Sequel
337
337
  # This rolls back the transaction in progress on the
338
338
  # connection and sets autocommit back on.
339
339
  def rollback_transaction(conn, opts=OPTS)
340
- log_yield(TRANSACTION_ROLLBACK){conn.rollback}
340
+ log_connection_yield(TRANSACTION_ROLLBACK, conn){conn.rollback}
341
341
  end
342
342
 
343
343
  # Convert smallint type to boolean if convert_smallint_to_bool is true
@@ -178,14 +178,14 @@ module Sequel
178
178
 
179
179
  begin
180
180
  if block_given?
181
- yield log_yield(sql){cps.executeQuery}
181
+ yield log_connection_yield(sql, conn){cps.executeQuery}
182
182
  else
183
183
  case opts[:type]
184
184
  when :insert
185
- log_yield(sql){cps.executeUpdate}
185
+ log_connection_yield(sql, conn){cps.executeUpdate}
186
186
  last_insert_id(conn, opts)
187
187
  else
188
- log_yield(sql){cps.executeUpdate}
188
+ log_connection_yield(sql, conn){cps.executeUpdate}
189
189
  end
190
190
  end
191
191
  rescue NativeException, JavaSQL::SQLException => e
@@ -250,16 +250,16 @@ module Sequel
250
250
  if size = fetch_size
251
251
  stmt.setFetchSize(size)
252
252
  end
253
- yield log_yield(sql){stmt.executeQuery(sql)}
253
+ yield log_connection_yield(sql, conn){stmt.executeQuery(sql)}
254
254
  else
255
255
  case opts[:type]
256
256
  when :ddl
257
- log_yield(sql){stmt.execute(sql)}
257
+ log_connection_yield(sql, conn){stmt.execute(sql)}
258
258
  when :insert
259
- log_yield(sql){execute_statement_insert(stmt, sql)}
259
+ log_connection_yield(sql, conn){execute_statement_insert(stmt, sql)}
260
260
  last_insert_id(conn, Hash[opts].merge!(:stmt=>stmt))
261
261
  else
262
- log_yield(sql){stmt.executeUpdate(sql)}
262
+ log_connection_yield(sql, conn){stmt.executeUpdate(sql)}
263
263
  end
264
264
  end
265
265
  end
@@ -418,8 +418,8 @@ module Sequel
418
418
  if name and cps = cps_sync(conn){|cpsh| cpsh[name]} and cps[0] == sql
419
419
  cps = cps[1]
420
420
  else
421
- log_yield("CLOSE #{name}"){cps[1].close} if cps
422
- cps = log_yield("PREPARE#{" #{name}:" if name} #{sql}"){prepare_jdbc_statement(conn, sql, opts)}
421
+ log_connection_yield("CLOSE #{name}", conn){cps[1].close} if cps
422
+ cps = log_connection_yield("PREPARE#{" #{name}:" if name} #{sql}", conn){prepare_jdbc_statement(conn, sql, opts)}
423
423
  if size = fetch_size
424
424
  cps.setFetchSize(size)
425
425
  end
@@ -429,22 +429,22 @@ module Sequel
429
429
  args.each{|arg| set_ps_arg(cps, arg, i+=1)}
430
430
  msg = "EXECUTE#{" #{name}" if name}"
431
431
  if ps.log_sql
432
- msg << " ("
432
+ msg += " ("
433
433
  msg << sql
434
434
  msg << ")"
435
435
  end
436
436
  begin
437
437
  if block_given?
438
- yield log_yield(msg, args){cps.executeQuery}
438
+ yield log_connection_yield(msg, conn, args){cps.executeQuery}
439
439
  else
440
440
  case opts[:type]
441
441
  when :ddl
442
- log_yield(msg, args){cps.execute}
442
+ log_connection_yield(msg, conn, args){cps.execute}
443
443
  when :insert
444
- log_yield(msg, args){execute_prepared_statement_insert(cps)}
444
+ log_connection_yield(msg, conn, args){execute_prepared_statement_insert(cps)}
445
445
  last_insert_id(conn, Hash[opts].merge!(:prepared=>true, :stmt=>cps))
446
446
  else
447
- log_yield(msg, args){cps.executeUpdate}
447
+ log_connection_yield(msg, conn, args){cps.executeUpdate}
448
448
  end
449
449
  end
450
450
  rescue NativeException, JavaSQL::SQLException => e
@@ -519,7 +519,7 @@ module Sequel
519
519
  # Log the given SQL and then execute it on the connection, used by
520
520
  # the transaction code.
521
521
  def log_connection_execute(conn, sql)
522
- statement(conn){|s| log_yield(sql){s.execute(sql)}}
522
+ statement(conn){|s| log_connection_yield(sql, conn){s.execute(sql)}}
523
523
  end
524
524
 
525
525
  # By default, there is no support for determining the last inserted
@@ -66,7 +66,7 @@ module Sequel
66
66
  def last_insert_id(conn, opts=OPTS)
67
67
  statement(conn) do |stmt|
68
68
  sql = IDENTITY_VAL_LOCAL
69
- rs = log_yield(sql){stmt.executeQuery(sql)}
69
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
70
70
  rs.next
71
71
  rs.getLong(1)
72
72
  end
@@ -90,7 +90,7 @@ module Sequel
90
90
  # Add NOT LOGGED for temporary tables to improve performance.
91
91
  def create_table_sql(name, generator, options)
92
92
  s = super
93
- s << ' NOT LOGGED' if options[:temp]
93
+ s += ' NOT LOGGED' if options[:temp]
94
94
  s
95
95
  end
96
96
 
@@ -131,7 +131,7 @@ module Sequel
131
131
  def last_insert_id(conn, opts=OPTS)
132
132
  statement(conn) do |stmt|
133
133
  sql = 'SELECT IDENTITY_VAL_LOCAL() FROM sysibm.sysdummy1'
134
- rs = log_yield(sql){stmt.executeQuery(sql)}
134
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
135
135
  rs.next
136
136
  rs.getLong(1)
137
137
  end
@@ -157,7 +157,7 @@ module Sequel
157
157
  if column[:identity]
158
158
  sql = "#{super} GENERATED BY DEFAULT AS IDENTITY"
159
159
  if sw = column[:start_with]
160
- sql << " (START WITH #{sw.to_i}"
160
+ sql += " (START WITH #{sw.to_i}"
161
161
  sql << " INCREMENT BY #{column[:increment_by].to_i}" if column[:increment_by]
162
162
  sql << ")"
163
163
  end
@@ -95,7 +95,7 @@ module Sequel
95
95
  op = cs.merge!(op)
96
96
  end
97
97
  end
98
- sql = "ALTER TABLE #{quote_schema_table(table)} ALTER COLUMN #{quote_identifier(op[:name])} #{type_literal(op)}"
98
+ sql = "ALTER TABLE #{quote_schema_table(table)} ALTER COLUMN #{quote_identifier(op[:name])} #{type_literal(op)}".dup
99
99
  column_definition_order.each{|m| send(:"column_definition_#{m}_sql", sql, op)}
100
100
  sql
101
101
  when :drop_constraint
@@ -130,7 +130,7 @@ module Sequel
130
130
  def last_insert_id(conn, opts=OPTS)
131
131
  statement(conn) do |stmt|
132
132
  sql = 'SELECT IDENTITY();'
133
- rs = log_yield(sql){stmt.executeQuery(sql)}
133
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
134
134
  rs.next
135
135
  rs.getLong(1)
136
136
  end
@@ -146,7 +146,7 @@ module Sequel
146
146
  end
147
147
 
148
148
  # Use BIGINT IDENTITY for identity columns that use bigint, fixes
149
- # the case where primary_key :column, :type=>Bignum is used.
149
+ # the case where primary_key :column, :type=>:Bignum is used.
150
150
  def type_literal_generic_bignum(column)
151
151
  column[:identity] ? 'BIGINT IDENTITY' : super
152
152
  end
@@ -101,7 +101,7 @@ module Sequel
101
101
  def last_insert_id(conn, opts=OPTS)
102
102
  statement(conn) do |stmt|
103
103
  sql = 'CALL IDENTITY()'
104
- rs = log_yield(sql){stmt.executeQuery(sql)}
104
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
105
105
  rs.next
106
106
  rs.getLong(1)
107
107
  end
@@ -119,7 +119,7 @@ module Sequel
119
119
  if column[:identity]
120
120
  sql = "#{super} GENERATED BY DEFAULT AS IDENTITY"
121
121
  if sw = column[:start_with]
122
- sql << " (START WITH #{sw.to_i}"
122
+ sql += " (START WITH #{sw.to_i}"
123
123
  sql << " INCREMENT BY #{column[:increment_by].to_i}" if column[:increment_by]
124
124
  sql << ")"
125
125
  end
@@ -22,7 +22,7 @@ module Sequel
22
22
  def last_insert_id(conn, opts=OPTS)
23
23
  statement(conn) do |stmt|
24
24
  sql = opts[:prepared] ? ATAT_IDENTITY : SCOPE_IDENTITY
25
- rs = log_yield(sql){stmt.executeQuery(sql)}
25
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
26
26
  rs.next
27
27
  rs.getLong(1)
28
28
  end
@@ -83,7 +83,7 @@ module Sequel
83
83
  # Run the default connection setting SQL statements.
84
84
  # Apply the connectiong setting SQLs for every new connection.
85
85
  def setup_connection(conn)
86
- mysql_connection_setting_sqls.each{|sql| statement(conn){|s| log_yield(sql){s.execute(sql)}}}
86
+ mysql_connection_setting_sqls.each{|sql| statement(conn){|s| log_connection_yield(sql, conn){s.execute(sql)}}}
87
87
  super
88
88
  end
89
89
  end
@@ -72,7 +72,7 @@ module Sequel
72
72
  sql = "SELECT #{literal(sequence)}.currval FROM dual"
73
73
  statement(conn) do |stmt|
74
74
  begin
75
- rs = log_yield(sql){stmt.executeQuery(sql)}
75
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
76
76
  rs.next
77
77
  rs.getLong(1)
78
78
  rescue java.sql.SQLException
@@ -100,7 +100,7 @@ module Sequel
100
100
  end
101
101
  nil
102
102
  else
103
- b = ''
103
+ b = String.new
104
104
  while buf = copier.readFromCopy
105
105
  b << String.from_java_bytes(buf)
106
106
  end
@@ -171,7 +171,7 @@ module Sequel
171
171
  def setup_connection(conn)
172
172
  conn = super(conn)
173
173
  statement(conn) do |stmt|
174
- connection_configuration_sqls.each{|sql| log_yield(sql){stmt.execute(sql)}}
174
+ connection_configuration_sqls.each{|sql| log_connection_yield(sql, conn){stmt.execute(sql)}}
175
175
  end
176
176
  conn
177
177
  end
@@ -51,7 +51,7 @@ module Sequel
51
51
  def last_insert_id(conn, opts=OPTS)
52
52
  statement(conn) do |stmt|
53
53
  sql = LAST_INSERT_ID
54
- rs = log_yield(sql){stmt.executeQuery(sql)}
54
+ rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
55
55
  rs.next
56
56
  rs.getLong(1)
57
57
  end
@@ -67,7 +67,7 @@ module Sequel
67
67
  def setup_connection(conn)
68
68
  conn = super(conn)
69
69
  statement(conn) do |stmt|
70
- connection_pragmas.each{|s| log_yield(s){stmt.execute(s)}}
70
+ connection_pragmas.each{|s| log_connection_yield(s, conn){stmt.execute(s)}}
71
71
  end
72
72
  conn
73
73
  end
@@ -36,7 +36,7 @@ module Sequel
36
36
  if (jdbc_level = JDBC_TRANSACTION_ISOLATION_LEVELS[level]) &&
37
37
  conn.getMetaData.supportsTransactionIsolationLevel(jdbc_level)
38
38
  _trans(conn)[:original_jdbc_isolation_level] = conn.getTransactionIsolation
39
- log_yield("Transaction.isolation_level = #{level}"){conn.setTransactionIsolation(jdbc_level)}
39
+ log_connection_yield("Transaction.isolation_level = #{level}", conn){conn.setTransactionIsolation(jdbc_level)}
40
40
  end
41
41
  end
42
42
 
@@ -50,14 +50,14 @@ module Sequel
50
50
  if supports_savepoints?
51
51
  th = _trans(conn)
52
52
  if sps = th[:savepoint_objs]
53
- sps << log_yield(TRANSACTION_SAVEPOINT){conn.set_savepoint}
53
+ sps << log_connection_yield(TRANSACTION_SAVEPOINT, conn){conn.set_savepoint}
54
54
  else
55
- log_yield(TRANSACTION_BEGIN){conn.setAutoCommit(false)}
55
+ log_connection_yield(TRANSACTION_BEGIN, conn){conn.setAutoCommit(false)}
56
56
  th[:savepoint_objs] = []
57
57
  set_transaction_isolation(conn, opts)
58
58
  end
59
59
  else
60
- log_yield(TRANSACTION_BEGIN){conn.setAutoCommit(false)}
60
+ log_connection_yield(TRANSACTION_BEGIN, conn){conn.setAutoCommit(false)}
61
61
  set_transaction_isolation(conn, opts)
62
62
  end
63
63
  end
@@ -67,12 +67,12 @@ module Sequel
67
67
  if supports_savepoints?
68
68
  sps = _trans(conn)[:savepoint_objs]
69
69
  if sps.empty?
70
- log_yield(TRANSACTION_COMMIT){conn.commit}
70
+ log_connection_yield(TRANSACTION_COMMIT, conn){conn.commit}
71
71
  elsif supports_releasing_savepoints?
72
- log_yield(TRANSACTION_RELEASE_SP){supports_releasing_savepoints? ? conn.release_savepoint(sps.last) : sps.last}
72
+ log_connection_yield(TRANSACTION_RELEASE_SP, conn){supports_releasing_savepoints? ? conn.release_savepoint(sps.last) : sps.last}
73
73
  end
74
74
  else
75
- log_yield(TRANSACTION_COMMIT){conn.commit}
75
+ log_connection_yield(TRANSACTION_COMMIT, conn){conn.commit}
76
76
  end
77
77
  end
78
78
 
@@ -97,12 +97,12 @@ module Sequel
97
97
  if supports_savepoints?
98
98
  sps = _trans(conn)[:savepoint_objs]
99
99
  if sps.empty?
100
- log_yield(TRANSACTION_ROLLBACK){conn.rollback}
100
+ log_connection_yield(TRANSACTION_ROLLBACK, conn){conn.rollback}
101
101
  else
102
- log_yield(TRANSACTION_ROLLBACK_SP){conn.rollback(sps.last)}
102
+ log_connection_yield(TRANSACTION_ROLLBACK_SP, conn){conn.rollback(sps.last)}
103
103
  end
104
104
  else
105
- log_yield(TRANSACTION_ROLLBACK){conn.rollback}
105
+ log_connection_yield(TRANSACTION_ROLLBACK, conn){conn.rollback}
106
106
  end
107
107
  end
108
108
  end
@@ -204,7 +204,7 @@ module Sequel
204
204
  sql += " -- args: #{opts[:arguments].inspect}" if opts[:arguments]
205
205
  sql += " -- #{@opts[:append]}" if @opts[:append]
206
206
  sql += " -- #{c.server.is_a?(Symbol) ? c.server : c.server.inspect}" if c.server != :default
207
- log_info(sql) unless opts[:log] == false
207
+ log_connection_yield(sql, c){} unless opts[:log] == false
208
208
  @sqls << sql
209
209
 
210
210
  ds = opts[:dataset]
@@ -118,7 +118,7 @@ module Sequel
118
118
  # that feature.
119
119
  sqls.unshift("SET NAMES #{literal(encoding.to_s)}") if encoding
120
120
 
121
- sqls.each{|sql| log_yield(sql){conn.query(sql)}}
121
+ sqls.each{|sql| log_connection_yield(sql, conn){conn.query(sql)}}
122
122
 
123
123
  add_prepared_statements_cache(conn)
124
124
  conn
@@ -174,7 +174,7 @@ module Sequel
174
174
  # yield the connection if a block is given.
175
175
  def _execute(conn, sql, opts)
176
176
  begin
177
- r = log_yield((log_sql = opts[:log_sql]) ? sql + log_sql : sql){conn.query(sql)}
177
+ r = log_connection_yield((log_sql = opts[:log_sql]) ? sql + log_sql : sql, conn){conn.query(sql)}
178
178
  if opts[:type] == :select
179
179
  yield r if r
180
180
  elsif block_given?
@@ -48,7 +48,7 @@ module Sequel
48
48
  sqls.unshift("SET NAMES #{conn.escape(encoding.to_s)}")
49
49
  end
50
50
 
51
- sqls.each{|sql| log_yield(sql){conn.query(sql)}}
51
+ sqls.each{|sql| log_connection_yield(sql, conn){conn.query(sql)}}
52
52
 
53
53
  add_prepared_statements_cache(conn)
54
54
  conn
@@ -77,7 +77,7 @@ module Sequel
77
77
  def _execute(conn, sql, opts)
78
78
  begin
79
79
  stream = opts[:stream]
80
- r = log_yield((log_sql = opts[:log_sql]) ? sql + log_sql : sql){conn.query(sql, :database_timezone => timezone, :application_timezone => Sequel.application_timezone, :stream=>stream)}
80
+ r = log_connection_yield((log_sql = opts[:log_sql]) ? sql + log_sql : sql, conn){conn.query(sql, :database_timezone => timezone, :application_timezone => Sequel.application_timezone, :stream=>stream)}
81
81
  if opts[:type] == :select
82
82
  if r
83
83
  if stream
@@ -43,7 +43,7 @@ module Sequel
43
43
  def execute(sql, opts=OPTS)
44
44
  synchronize(opts[:server]) do |conn|
45
45
  begin
46
- r = log_yield(sql){conn.run(sql)}
46
+ r = log_connection_yield(sql, conn){conn.run(sql)}
47
47
  yield(r) if block_given?
48
48
  rescue ::ODBC::Error, ArgumentError => e
49
49
  raise_error(e)
@@ -57,7 +57,7 @@ module Sequel
57
57
  def execute_dui(sql, opts=OPTS)
58
58
  synchronize(opts[:server]) do |conn|
59
59
  begin
60
- log_yield(sql){conn.do(sql)}
60
+ log_connection_yield(sql, conn){conn.do(sql)}
61
61
  rescue ::ODBC::Error, ArgumentError => e
62
62
  raise_error(e)
63
63
  end