sequel 3.20.0 → 3.21.0
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.
- data/CHANGELOG +32 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +1 -1
- data/Rakefile +13 -3
- data/bin/sequel +18 -5
- data/doc/active_record.rdoc +4 -4
- data/doc/opening_databases.rdoc +38 -1
- data/doc/release_notes/3.21.0.txt +87 -0
- data/doc/validations.rdoc +2 -2
- data/lib/sequel/adapters/informix.rb +1 -1
- data/lib/sequel/adapters/jdbc/h2.rb +2 -5
- data/lib/sequel/adapters/jdbc/mssql.rb +1 -4
- data/lib/sequel/adapters/jdbc/mysql.rb +1 -4
- data/lib/sequel/adapters/jdbc/postgresql.rb +1 -6
- data/lib/sequel/adapters/jdbc/sqlite.rb +2 -8
- data/lib/sequel/adapters/shared/mssql.rb +8 -0
- data/lib/sequel/adapters/shared/mysql.rb +23 -3
- data/lib/sequel/adapters/shared/oracle.rb +2 -2
- data/lib/sequel/adapters/tinytds.rb +125 -0
- data/lib/sequel/database/connecting.rb +1 -1
- data/lib/sequel/database/schema_methods.rb +37 -5
- data/lib/sequel/dataset/sql.rb +6 -6
- data/lib/sequel/extensions/schema_dumper.rb +1 -1
- data/lib/sequel/model/base.rb +50 -0
- data/lib/sequel/model/plugins.rb +0 -55
- data/lib/sequel/plugins/association_autoreloading.rb +48 -0
- data/lib/sequel/plugins/validation_class_methods.rb +6 -5
- data/lib/sequel/plugins/validation_helpers.rb +2 -2
- data/lib/sequel/version.rb +1 -1
- data/spec/adapters/firebird_spec.rb +6 -6
- data/spec/adapters/informix_spec.rb +2 -2
- data/spec/adapters/mssql_spec.rb +18 -13
- data/spec/adapters/mysql_spec.rb +47 -20
- data/spec/adapters/oracle_spec.rb +40 -4
- data/spec/adapters/postgres_spec.rb +14 -14
- data/spec/adapters/spec_helper.rb +1 -1
- data/spec/adapters/sqlite_spec.rb +8 -8
- data/spec/core/connection_pool_spec.rb +18 -17
- data/spec/core/core_sql_spec.rb +18 -18
- data/spec/core/database_spec.rb +62 -62
- data/spec/core/dataset_spec.rb +105 -92
- data/spec/core/expression_filters_spec.rb +2 -2
- data/spec/core/schema_spec.rb +6 -6
- data/spec/core/version_spec.rb +1 -1
- data/spec/extensions/association_autoreloading_spec.rb +94 -0
- data/spec/extensions/blank_spec.rb +6 -6
- data/spec/extensions/looser_typecasting_spec.rb +1 -1
- data/spec/extensions/migration_spec.rb +6 -6
- data/spec/extensions/pagination_spec.rb +2 -2
- data/spec/extensions/pretty_table_spec.rb +2 -2
- data/spec/extensions/query_spec.rb +2 -2
- data/spec/extensions/schema_dumper_spec.rb +2 -1
- data/spec/extensions/single_table_inheritance_spec.rb +1 -1
- data/spec/extensions/sql_expr_spec.rb +1 -1
- data/spec/extensions/string_date_time_spec.rb +4 -4
- data/spec/extensions/validation_class_methods_spec.rb +2 -2
- data/spec/integration/dataset_test.rb +8 -3
- data/spec/integration/plugin_test.rb +5 -5
- data/spec/integration/prepared_statement_test.rb +1 -1
- data/spec/integration/schema_test.rb +7 -0
- data/spec/integration/spec_helper.rb +14 -1
- data/spec/integration/timezone_test.rb +4 -4
- data/spec/integration/type_test.rb +1 -1
- data/spec/model/model_spec.rb +3 -3
- metadata +9 -4
data/spec/core/database_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.join(File.dirname(File.expand_path(__FILE__)), 'spec_helper')
|
2
2
|
|
3
|
-
|
3
|
+
describe "A new Database" do
|
4
4
|
before do
|
5
5
|
@db = Sequel::Database.new(1 => 2, :logger => 3)
|
6
6
|
end
|
@@ -198,7 +198,7 @@ context "A new Database" do
|
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
|
-
|
201
|
+
describe "Database#disconnect" do
|
202
202
|
specify "should call pool.disconnect" do
|
203
203
|
d = Sequel::Database.new
|
204
204
|
p = d.pool
|
@@ -207,19 +207,19 @@ context "Database#disconnect" do
|
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
210
|
-
|
210
|
+
describe "Sequel.extension" do
|
211
211
|
specify "should attempt to load the given extension" do
|
212
212
|
proc{Sequel.extension :blah}.should raise_error(LoadError)
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
216
|
-
|
216
|
+
describe "Database#connect" do
|
217
217
|
specify "should raise Sequel::NotImplemented" do
|
218
218
|
proc {Sequel::Database.new.connect(:default)}.should raise_error(Sequel::NotImplemented)
|
219
219
|
end
|
220
220
|
end
|
221
221
|
|
222
|
-
|
222
|
+
describe "Database#log_info" do
|
223
223
|
before do
|
224
224
|
@o = Object.new
|
225
225
|
def @o.logs; @logs || []; end
|
@@ -239,7 +239,7 @@ context "Database#log_info" do
|
|
239
239
|
end
|
240
240
|
end
|
241
241
|
|
242
|
-
|
242
|
+
describe "Database#log_yield" do
|
243
243
|
before do
|
244
244
|
@o = Object.new
|
245
245
|
def @o.logs; @logs || []; end
|
@@ -312,7 +312,7 @@ context "Database#log_yield" do
|
|
312
312
|
end
|
313
313
|
end
|
314
314
|
|
315
|
-
|
315
|
+
describe "Database#uri" do
|
316
316
|
before do
|
317
317
|
@c = Class.new(Sequel::Database) do
|
318
318
|
set_adapter_scheme :mau
|
@@ -330,7 +330,7 @@ context "Database#uri" do
|
|
330
330
|
end
|
331
331
|
end
|
332
332
|
|
333
|
-
|
333
|
+
describe "Database.adapter_scheme and #adapter_scheme" do
|
334
334
|
specify "should return the database schema" do
|
335
335
|
Sequel::Database.adapter_scheme.should be_nil
|
336
336
|
|
@@ -343,7 +343,7 @@ context "Database.adapter_scheme and #adapter_scheme" do
|
|
343
343
|
end
|
344
344
|
end
|
345
345
|
|
346
|
-
|
346
|
+
describe "Database#dataset" do
|
347
347
|
before do
|
348
348
|
@db = Sequel::Database.new
|
349
349
|
@ds = @db.dataset
|
@@ -384,26 +384,26 @@ context "Database#dataset" do
|
|
384
384
|
end
|
385
385
|
end
|
386
386
|
|
387
|
-
|
387
|
+
describe "Database#execute" do
|
388
388
|
specify "should raise Sequel::NotImplemented" do
|
389
389
|
proc {Sequel::Database.new.execute('blah blah')}.should raise_error(Sequel::NotImplemented)
|
390
390
|
proc {Sequel::Database.new << 'blah blah'}.should raise_error(Sequel::NotImplemented)
|
391
391
|
end
|
392
392
|
end
|
393
393
|
|
394
|
-
|
394
|
+
describe "Database#tables" do
|
395
395
|
specify "should raise Sequel::NotImplemented" do
|
396
396
|
proc {Sequel::Database.new.tables}.should raise_error(Sequel::NotImplemented)
|
397
397
|
end
|
398
398
|
end
|
399
399
|
|
400
|
-
|
400
|
+
describe "Database#indexes" do
|
401
401
|
specify "should raise Sequel::NotImplemented" do
|
402
402
|
proc {Sequel::Database.new.indexes(:table)}.should raise_error(Sequel::NotImplemented)
|
403
403
|
end
|
404
404
|
end
|
405
405
|
|
406
|
-
|
406
|
+
describe "Database#<< and run" do
|
407
407
|
before do
|
408
408
|
sqls = @sqls = []
|
409
409
|
@c = Class.new(Sequel::Database) do
|
@@ -430,7 +430,7 @@ context "Database#<< and run" do
|
|
430
430
|
end
|
431
431
|
end
|
432
432
|
|
433
|
-
|
433
|
+
describe "Database#synchronize" do
|
434
434
|
before do
|
435
435
|
@db = Sequel::Database.new(:max_connections => 1){12345}
|
436
436
|
end
|
@@ -453,7 +453,7 @@ context "Database#synchronize" do
|
|
453
453
|
end
|
454
454
|
end
|
455
455
|
|
456
|
-
|
456
|
+
describe "Database#test_connection" do
|
457
457
|
before do
|
458
458
|
@db = Sequel::Database.new{@test = rand(100)}
|
459
459
|
end
|
@@ -494,7 +494,7 @@ class DummyDatabase < Sequel::Database
|
|
494
494
|
end
|
495
495
|
end
|
496
496
|
|
497
|
-
|
497
|
+
describe "Database#create_table" do
|
498
498
|
before do
|
499
499
|
@db = DummyDatabase.new
|
500
500
|
end
|
@@ -525,7 +525,7 @@ context "Database#create_table" do
|
|
525
525
|
end
|
526
526
|
end
|
527
527
|
|
528
|
-
|
528
|
+
describe "Database#alter_table" do
|
529
529
|
before do
|
530
530
|
@db = DummyDatabase.new
|
531
531
|
end
|
@@ -543,7 +543,7 @@ context "Database#alter_table" do
|
|
543
543
|
end
|
544
544
|
|
545
545
|
@db.sqls.should == [
|
546
|
-
'ALTER TABLE xyz ADD COLUMN aaa text
|
546
|
+
'ALTER TABLE xyz ADD COLUMN aaa text NOT NULL UNIQUE',
|
547
547
|
'ALTER TABLE xyz DROP COLUMN bbb',
|
548
548
|
'ALTER TABLE xyz RENAME COLUMN ccc TO ddd',
|
549
549
|
'ALTER TABLE xyz ALTER COLUMN eee TYPE integer',
|
@@ -555,7 +555,7 @@ context "Database#alter_table" do
|
|
555
555
|
end
|
556
556
|
end
|
557
557
|
|
558
|
-
|
558
|
+
describe "Database#add_column" do
|
559
559
|
before do
|
560
560
|
@db = DummyDatabase.new
|
561
561
|
end
|
@@ -568,7 +568,7 @@ context "Database#add_column" do
|
|
568
568
|
end
|
569
569
|
end
|
570
570
|
|
571
|
-
|
571
|
+
describe "Database#drop_column" do
|
572
572
|
before do
|
573
573
|
@db = DummyDatabase.new
|
574
574
|
end
|
@@ -581,7 +581,7 @@ context "Database#drop_column" do
|
|
581
581
|
end
|
582
582
|
end
|
583
583
|
|
584
|
-
|
584
|
+
describe "Database#rename_column" do
|
585
585
|
before do
|
586
586
|
@db = DummyDatabase.new
|
587
587
|
end
|
@@ -594,7 +594,7 @@ context "Database#rename_column" do
|
|
594
594
|
end
|
595
595
|
end
|
596
596
|
|
597
|
-
|
597
|
+
describe "Database#set_column_type" do
|
598
598
|
before do
|
599
599
|
@db = DummyDatabase.new
|
600
600
|
end
|
@@ -607,7 +607,7 @@ context "Database#set_column_type" do
|
|
607
607
|
end
|
608
608
|
end
|
609
609
|
|
610
|
-
|
610
|
+
describe "Database#set_column_default" do
|
611
611
|
before do
|
612
612
|
@db = DummyDatabase.new
|
613
613
|
end
|
@@ -620,7 +620,7 @@ context "Database#set_column_default" do
|
|
620
620
|
end
|
621
621
|
end
|
622
622
|
|
623
|
-
|
623
|
+
describe "Database#add_index" do
|
624
624
|
before do
|
625
625
|
@db = DummyDatabase.new
|
626
626
|
end
|
@@ -640,7 +640,7 @@ context "Database#add_index" do
|
|
640
640
|
end
|
641
641
|
end
|
642
642
|
|
643
|
-
|
643
|
+
describe "Database#drop_index" do
|
644
644
|
before do
|
645
645
|
@db = DummyDatabase.new
|
646
646
|
end
|
@@ -660,7 +660,7 @@ class Dummy2Database < Sequel::Database
|
|
660
660
|
def transaction; yield; end
|
661
661
|
end
|
662
662
|
|
663
|
-
|
663
|
+
describe "Database#drop_table" do
|
664
664
|
before do
|
665
665
|
@db = DummyDatabase.new
|
666
666
|
end
|
@@ -680,7 +680,7 @@ context "Database#drop_table" do
|
|
680
680
|
end
|
681
681
|
end
|
682
682
|
|
683
|
-
|
683
|
+
describe "Database#rename_table" do
|
684
684
|
before do
|
685
685
|
@db = DummyDatabase.new
|
686
686
|
end
|
@@ -691,7 +691,7 @@ context "Database#rename_table" do
|
|
691
691
|
end
|
692
692
|
end
|
693
693
|
|
694
|
-
|
694
|
+
describe "Database#table_exists?" do
|
695
695
|
specify "should try to select the first record from the table's dataset" do
|
696
696
|
db2 = DummyDatabase.new
|
697
697
|
db2.table_exists?(:a).should be_false
|
@@ -709,7 +709,7 @@ class Dummy3Database < Sequel::Database
|
|
709
709
|
end
|
710
710
|
end
|
711
711
|
|
712
|
-
|
712
|
+
describe "Database#transaction" do
|
713
713
|
before do
|
714
714
|
@db = Dummy3Database.new{Dummy3Database::DummyConnection.new(@db)}
|
715
715
|
end
|
@@ -797,7 +797,7 @@ context "Database#transaction" do
|
|
797
797
|
end
|
798
798
|
end
|
799
799
|
|
800
|
-
|
800
|
+
describe "Database#transaction with savepoints" do
|
801
801
|
before do
|
802
802
|
@db = Dummy3Database.new{Dummy3Database::DummyConnection.new(@db)}
|
803
803
|
@db.meta_def(:supports_savepoints?){true}
|
@@ -896,7 +896,7 @@ context "Database#transaction with savepoints" do
|
|
896
896
|
end
|
897
897
|
end
|
898
898
|
|
899
|
-
|
899
|
+
describe "A Database adapter with a scheme" do
|
900
900
|
before do
|
901
901
|
class CCC < Sequel::Database
|
902
902
|
if defined?(DISCONNECTS)
|
@@ -1034,14 +1034,14 @@ context "A Database adapter with a scheme" do
|
|
1034
1034
|
end
|
1035
1035
|
end
|
1036
1036
|
|
1037
|
-
|
1037
|
+
describe "Sequel::Database.connect" do
|
1038
1038
|
specify "should raise an Error if not given a String or Hash" do
|
1039
1039
|
proc{Sequel::Database.connect(nil)}.should raise_error(Sequel::Error)
|
1040
1040
|
proc{Sequel::Database.connect(Object.new)}.should raise_error(Sequel::Error)
|
1041
1041
|
end
|
1042
1042
|
end
|
1043
1043
|
|
1044
|
-
|
1044
|
+
describe "An unknown database scheme" do
|
1045
1045
|
specify "should raise an error in Sequel::Database.connect" do
|
1046
1046
|
proc {Sequel::Database.connect('ddd://localhost/db')}.should raise_error(Sequel::AdapterNotFound)
|
1047
1047
|
end
|
@@ -1051,7 +1051,7 @@ context "An unknown database scheme" do
|
|
1051
1051
|
end
|
1052
1052
|
end
|
1053
1053
|
|
1054
|
-
|
1054
|
+
describe "A broken adapter (lib is there but the class is not)" do
|
1055
1055
|
before do
|
1056
1056
|
@fn = File.join(File.dirname(__FILE__), '../../lib/sequel/adapters/blah.rb')
|
1057
1057
|
File.open(@fn,'a'){}
|
@@ -1066,7 +1066,7 @@ context "A broken adapter (lib is there but the class is not)" do
|
|
1066
1066
|
end
|
1067
1067
|
end
|
1068
1068
|
|
1069
|
-
|
1069
|
+
describe "A single threaded database" do
|
1070
1070
|
after do
|
1071
1071
|
Sequel::Database.single_threaded = false
|
1072
1072
|
end
|
@@ -1094,7 +1094,7 @@ context "A single threaded database" do
|
|
1094
1094
|
end
|
1095
1095
|
end
|
1096
1096
|
|
1097
|
-
|
1097
|
+
describe "A single threaded database" do
|
1098
1098
|
before do
|
1099
1099
|
conn = 1234567
|
1100
1100
|
@db = Sequel::Database.new(:single_threaded => true) do
|
@@ -1128,7 +1128,7 @@ context "A single threaded database" do
|
|
1128
1128
|
end
|
1129
1129
|
end
|
1130
1130
|
|
1131
|
-
|
1131
|
+
describe "A database" do
|
1132
1132
|
before do
|
1133
1133
|
Sequel::Database.single_threaded = false
|
1134
1134
|
end
|
@@ -1175,7 +1175,7 @@ context "A database" do
|
|
1175
1175
|
end
|
1176
1176
|
end
|
1177
1177
|
|
1178
|
-
|
1178
|
+
describe "Database#fetch" do
|
1179
1179
|
before do
|
1180
1180
|
@db = Sequel::Database.new
|
1181
1181
|
c = Class.new(Sequel::Dataset) do
|
@@ -1226,7 +1226,7 @@ context "Database#fetch" do
|
|
1226
1226
|
end
|
1227
1227
|
|
1228
1228
|
|
1229
|
-
|
1229
|
+
describe "Database#[]" do
|
1230
1230
|
before do
|
1231
1231
|
@db = Sequel::Database.new
|
1232
1232
|
end
|
@@ -1249,7 +1249,7 @@ context "Database#[]" do
|
|
1249
1249
|
end
|
1250
1250
|
end
|
1251
1251
|
|
1252
|
-
|
1252
|
+
describe "Database#create_view" do
|
1253
1253
|
before do
|
1254
1254
|
@db = DummyDatabase.new
|
1255
1255
|
end
|
@@ -1271,7 +1271,7 @@ context "Database#create_view" do
|
|
1271
1271
|
end
|
1272
1272
|
end
|
1273
1273
|
|
1274
|
-
|
1274
|
+
describe "Database#create_or_replace_view" do
|
1275
1275
|
before do
|
1276
1276
|
@db = DummyDatabase.new
|
1277
1277
|
end
|
@@ -1293,7 +1293,7 @@ context "Database#create_or_replace_view" do
|
|
1293
1293
|
end
|
1294
1294
|
end
|
1295
1295
|
|
1296
|
-
|
1296
|
+
describe "Database#drop_view" do
|
1297
1297
|
before do
|
1298
1298
|
@db = DummyDatabase.new
|
1299
1299
|
end
|
@@ -1307,7 +1307,7 @@ context "Database#drop_view" do
|
|
1307
1307
|
end
|
1308
1308
|
end
|
1309
1309
|
|
1310
|
-
|
1310
|
+
describe "Database#alter_table_sql" do
|
1311
1311
|
before do
|
1312
1312
|
@db = DummyDatabase.new
|
1313
1313
|
end
|
@@ -1317,7 +1317,7 @@ context "Database#alter_table_sql" do
|
|
1317
1317
|
end
|
1318
1318
|
end
|
1319
1319
|
|
1320
|
-
|
1320
|
+
describe "Database#inspect" do
|
1321
1321
|
before do
|
1322
1322
|
@db = DummyDatabase.new
|
1323
1323
|
|
@@ -1329,7 +1329,7 @@ context "Database#inspect" do
|
|
1329
1329
|
end
|
1330
1330
|
end
|
1331
1331
|
|
1332
|
-
|
1332
|
+
describe "Database#get" do
|
1333
1333
|
before do
|
1334
1334
|
@c = Class.new(DummyDatabase) do
|
1335
1335
|
def dataset
|
@@ -1362,7 +1362,7 @@ context "Database#get" do
|
|
1362
1362
|
end
|
1363
1363
|
end
|
1364
1364
|
|
1365
|
-
|
1365
|
+
describe "Database#call" do
|
1366
1366
|
specify "should call the prepared statement with the given name" do
|
1367
1367
|
db = MockDatabase.new
|
1368
1368
|
db[:items].prepare(:select, :select_all)
|
@@ -1373,7 +1373,7 @@ context "Database#call" do
|
|
1373
1373
|
end
|
1374
1374
|
end
|
1375
1375
|
|
1376
|
-
|
1376
|
+
describe "Database#server_opts" do
|
1377
1377
|
specify "should return the general opts if no :servers option is used" do
|
1378
1378
|
opts = {:host=>1, :database=>2}
|
1379
1379
|
MockDatabase.new(opts).send(:server_opts, :server1)[:host].should == 1
|
@@ -1400,7 +1400,7 @@ context "Database#server_opts" do
|
|
1400
1400
|
end
|
1401
1401
|
end
|
1402
1402
|
|
1403
|
-
|
1403
|
+
describe "Database#add_servers" do
|
1404
1404
|
before do
|
1405
1405
|
@db = MockDatabase.new(:host=>1, :database=>2, :servers=>{:server1=>{:host=>3}})
|
1406
1406
|
def @db.connect(server)
|
@@ -1443,7 +1443,7 @@ context "Database#add_servers" do
|
|
1443
1443
|
end
|
1444
1444
|
end
|
1445
1445
|
|
1446
|
-
|
1446
|
+
describe "Database#remove_servers" do
|
1447
1447
|
before do
|
1448
1448
|
@db = MockDatabase.new(:host=>1, :database=>2, :servers=>{:server1=>{:host=>3}, :server2=>{:host=>4}})
|
1449
1449
|
def @db.connect(server)
|
@@ -1498,7 +1498,7 @@ context "Database#remove_servers" do
|
|
1498
1498
|
end
|
1499
1499
|
end
|
1500
1500
|
|
1501
|
-
|
1501
|
+
describe "Database#each_server with do/jdbc adapter connection string without :adapter option" do
|
1502
1502
|
before do
|
1503
1503
|
klass = Class.new(Sequel::Database)
|
1504
1504
|
klass.should_receive(:adapter_class).once.with(:jdbc).and_return(MockDatabase)
|
@@ -1523,7 +1523,7 @@ context "Database#each_server with do/jdbc adapter connection string without :ad
|
|
1523
1523
|
end
|
1524
1524
|
end
|
1525
1525
|
|
1526
|
-
|
1526
|
+
describe "Database#each_server" do
|
1527
1527
|
before do
|
1528
1528
|
@db = Sequel.connect(:adapter=>:mock, :host=>1, :database=>2, :servers=>{:server1=>{:host=>3}, :server2=>{:host=>4}})
|
1529
1529
|
def @db.connect(server)
|
@@ -1560,7 +1560,7 @@ context "Database#each_server" do
|
|
1560
1560
|
end
|
1561
1561
|
end
|
1562
1562
|
|
1563
|
-
|
1563
|
+
describe "Database#raise_error" do
|
1564
1564
|
specify "should reraise if the exception class is not in opts[:classes]" do
|
1565
1565
|
e = Class.new(StandardError)
|
1566
1566
|
proc{MockDatabase.new.send(:raise_error, e.new(''), :classes=>[])}.should raise_error(e)
|
@@ -1579,7 +1579,7 @@ context "Database#raise_error" do
|
|
1579
1579
|
end
|
1580
1580
|
end
|
1581
1581
|
|
1582
|
-
|
1582
|
+
describe "Database#typecast_value" do
|
1583
1583
|
before do
|
1584
1584
|
@db = Sequel::Database.new
|
1585
1585
|
end
|
@@ -1613,7 +1613,7 @@ context "Database#typecast_value" do
|
|
1613
1613
|
end
|
1614
1614
|
end
|
1615
1615
|
|
1616
|
-
|
1616
|
+
describe "Database#blank_object?" do
|
1617
1617
|
specify "should return whether the object is considered blank" do
|
1618
1618
|
db = Sequel::Database.new
|
1619
1619
|
c = lambda{|meth, value| Class.new{define_method(meth){value}}.new}
|
@@ -1638,7 +1638,7 @@ context "Database#blank_object?" do
|
|
1638
1638
|
end
|
1639
1639
|
end
|
1640
1640
|
|
1641
|
-
|
1641
|
+
describe "Database#schema_autoincrementing_primary_key?" do
|
1642
1642
|
specify "should whether the parsed schema row indicates a primary key" do
|
1643
1643
|
m = Sequel::Database.new.method(:schema_autoincrementing_primary_key?)
|
1644
1644
|
m.call(:primary_key=>true).should == true
|
@@ -1646,25 +1646,25 @@ context "Database#schema_autoincrementing_primary_key?" do
|
|
1646
1646
|
end
|
1647
1647
|
end
|
1648
1648
|
|
1649
|
-
|
1649
|
+
describe "Database#supports_savepoints?" do
|
1650
1650
|
specify "should be false by default" do
|
1651
1651
|
Sequel::Database.new.supports_savepoints?.should == false
|
1652
1652
|
end
|
1653
1653
|
end
|
1654
1654
|
|
1655
|
-
|
1655
|
+
describe "Database#supports_prepared_transactions?" do
|
1656
1656
|
specify "should be false by default" do
|
1657
1657
|
Sequel::Database.new.supports_prepared_transactions?.should == false
|
1658
1658
|
end
|
1659
1659
|
end
|
1660
1660
|
|
1661
|
-
|
1661
|
+
describe "Database#supports_transaction_isolation_levels?" do
|
1662
1662
|
specify "should be false by default" do
|
1663
1663
|
Sequel::Database.new.supports_transaction_isolation_levels?.should == false
|
1664
1664
|
end
|
1665
1665
|
end
|
1666
1666
|
|
1667
|
-
|
1667
|
+
describe "Database#input_identifier_meth" do
|
1668
1668
|
specify "should be the input_identifer method of a default dataset for this database" do
|
1669
1669
|
db = Sequel::Database.new
|
1670
1670
|
db.send(:input_identifier_meth).call(:a).should == 'a'
|
@@ -1673,7 +1673,7 @@ context "Database#input_identifier_meth" do
|
|
1673
1673
|
end
|
1674
1674
|
end
|
1675
1675
|
|
1676
|
-
|
1676
|
+
describe "Database#output_identifier_meth" do
|
1677
1677
|
specify "should be the output_identifer method of a default dataset for this database" do
|
1678
1678
|
db = Sequel::Database.new
|
1679
1679
|
db.send(:output_identifier_meth).call('A').should == :A
|
@@ -1682,7 +1682,7 @@ context "Database#output_identifier_meth" do
|
|
1682
1682
|
end
|
1683
1683
|
end
|
1684
1684
|
|
1685
|
-
|
1685
|
+
describe "Database#metadata_dataset" do
|
1686
1686
|
specify "should be a dataset with the default settings for identifier_input_method and identifier_output_method" do
|
1687
1687
|
ds = Sequel::Database.new.send(:metadata_dataset)
|
1688
1688
|
ds.literal(:a).should == 'A'
|
@@ -1690,7 +1690,7 @@ context "Database#metadata_dataset" do
|
|
1690
1690
|
end
|
1691
1691
|
end
|
1692
1692
|
|
1693
|
-
|
1693
|
+
describe "Database#column_schema_to_ruby_default" do
|
1694
1694
|
specify "should handle converting many default formats" do
|
1695
1695
|
db = Sequel::Database.new
|
1696
1696
|
m = db.method(:column_schema_to_ruby_default)
|