sequel 3.20.0 → 3.21.0
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|