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/dataset_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 "Dataset" do
|
4
4
|
before do
|
5
5
|
@dataset = Sequel::Dataset.new("db")
|
6
6
|
end
|
@@ -62,7 +62,7 @@ context "Dataset" do
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
|
65
|
+
describe "Dataset" do
|
66
66
|
before do
|
67
67
|
@dataset = Sequel::Dataset.new("db")
|
68
68
|
end
|
@@ -104,7 +104,7 @@ context "Dataset" do
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
-
|
107
|
+
describe "Dataset#clone" do
|
108
108
|
before do
|
109
109
|
@dataset = Sequel::Dataset.new(nil).from(:items)
|
110
110
|
end
|
@@ -159,7 +159,7 @@ context "Dataset#clone" do
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
|
-
|
162
|
+
describe "Dataset#==" do
|
163
163
|
before do
|
164
164
|
@db = MockDatabase.new
|
165
165
|
@h = {}
|
@@ -184,7 +184,7 @@ context "Dataset#==" do
|
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
|
-
|
187
|
+
describe "Dataset#hash" do
|
188
188
|
before do
|
189
189
|
@db = MockDatabase.new
|
190
190
|
@h = {}
|
@@ -211,7 +211,7 @@ context "Dataset#hash" do
|
|
211
211
|
end
|
212
212
|
end
|
213
213
|
|
214
|
-
|
214
|
+
describe "A simple dataset" do
|
215
215
|
before do
|
216
216
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
217
217
|
end
|
@@ -293,7 +293,7 @@ context "A simple dataset" do
|
|
293
293
|
end
|
294
294
|
end
|
295
295
|
|
296
|
-
|
296
|
+
describe "A dataset with multiple tables in its FROM clause" do
|
297
297
|
before do
|
298
298
|
@dataset = Sequel::Dataset.new(nil).from(:t1, :t2)
|
299
299
|
end
|
@@ -319,7 +319,7 @@ context "A dataset with multiple tables in its FROM clause" do
|
|
319
319
|
end
|
320
320
|
end
|
321
321
|
|
322
|
-
|
322
|
+
describe "Dataset#unused_table_alias" do
|
323
323
|
before do
|
324
324
|
@ds = Sequel::Dataset.new(nil).from(:test)
|
325
325
|
end
|
@@ -346,7 +346,7 @@ context "Dataset#unused_table_alias" do
|
|
346
346
|
end
|
347
347
|
end
|
348
348
|
|
349
|
-
|
349
|
+
describe "Dataset#exists" do
|
350
350
|
before do
|
351
351
|
@ds1 = Sequel::Dataset.new(nil).from(:test)
|
352
352
|
@ds2 = @ds1.filter(:price.sql_number < 100)
|
@@ -366,7 +366,7 @@ context "Dataset#exists" do
|
|
366
366
|
end
|
367
367
|
end
|
368
368
|
|
369
|
-
|
369
|
+
describe "Dataset#where" do
|
370
370
|
before do
|
371
371
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
372
372
|
@d1 = @dataset.where(:region => 'Asia')
|
@@ -647,7 +647,7 @@ context "Dataset#where" do
|
|
647
647
|
end
|
648
648
|
end
|
649
649
|
|
650
|
-
|
650
|
+
describe "Dataset#or" do
|
651
651
|
before do
|
652
652
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
653
653
|
@d1 = @dataset.where(:x => 1)
|
@@ -688,7 +688,7 @@ context "Dataset#or" do
|
|
688
688
|
end
|
689
689
|
end
|
690
690
|
|
691
|
-
|
691
|
+
describe "Dataset#and" do
|
692
692
|
before do
|
693
693
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
694
694
|
@d1 = @dataset.where(:x => 1)
|
@@ -728,7 +728,7 @@ context "Dataset#and" do
|
|
728
728
|
end
|
729
729
|
end
|
730
730
|
|
731
|
-
|
731
|
+
describe "Dataset#exclude" do
|
732
732
|
before do
|
733
733
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
734
734
|
end
|
@@ -772,7 +772,7 @@ context "Dataset#exclude" do
|
|
772
772
|
end
|
773
773
|
end
|
774
774
|
|
775
|
-
|
775
|
+
describe "Dataset#invert" do
|
776
776
|
before do
|
777
777
|
@d = Sequel::Dataset.new(nil).from(:test)
|
778
778
|
end
|
@@ -790,7 +790,7 @@ context "Dataset#invert" do
|
|
790
790
|
end
|
791
791
|
end
|
792
792
|
|
793
|
-
|
793
|
+
describe "Dataset#having" do
|
794
794
|
before do
|
795
795
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
796
796
|
@grouped = @dataset.group(:region).select(:region, :sum.sql_function(:population), :avg.sql_function(:gdp))
|
@@ -821,7 +821,7 @@ context "Dataset#having" do
|
|
821
821
|
end
|
822
822
|
end
|
823
823
|
|
824
|
-
|
824
|
+
describe "a grouped dataset" do
|
825
825
|
before do
|
826
826
|
@dataset = Sequel::Dataset.new(nil).from(:test).group(:type_id)
|
827
827
|
end
|
@@ -854,7 +854,7 @@ context "a grouped dataset" do
|
|
854
854
|
end
|
855
855
|
end
|
856
856
|
|
857
|
-
|
857
|
+
describe "Dataset#group_by" do
|
858
858
|
before do
|
859
859
|
@dataset = Sequel::Dataset.new(nil).from(:test).group_by(:type_id)
|
860
860
|
end
|
@@ -896,7 +896,7 @@ context "Dataset#group_by" do
|
|
896
896
|
end
|
897
897
|
end
|
898
898
|
|
899
|
-
|
899
|
+
describe "Dataset#as" do
|
900
900
|
specify "should set up an alias" do
|
901
901
|
dataset = Sequel::Dataset.new(nil).from(:test)
|
902
902
|
dataset.select(dataset.limit(1).select(:name).as(:n)).sql.should == \
|
@@ -904,7 +904,7 @@ context "Dataset#as" do
|
|
904
904
|
end
|
905
905
|
end
|
906
906
|
|
907
|
-
|
907
|
+
describe "Dataset#literal" do
|
908
908
|
before do
|
909
909
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
910
910
|
end
|
@@ -927,22 +927,23 @@ context "Dataset#literal" do
|
|
927
927
|
@dataset.literal(1).should == "1"
|
928
928
|
@dataset.literal(1.5).should == "1.5"
|
929
929
|
end
|
930
|
-
|
930
|
+
|
931
931
|
specify "should literalize nil as NULL" do
|
932
932
|
@dataset.literal(nil).should == "NULL"
|
933
933
|
end
|
934
|
-
|
934
|
+
|
935
935
|
specify "should literalize an array properly" do
|
936
936
|
@dataset.literal([]).should == "(NULL)"
|
937
937
|
@dataset.literal([1, 'abc', 3]).should == "(1, 'abc', 3)"
|
938
938
|
@dataset.literal([1, "a'b''c", 3]).should == "(1, 'a''b''''c', 3)"
|
939
939
|
end
|
940
|
-
|
940
|
+
|
941
941
|
specify "should literalize symbols as column references" do
|
942
942
|
@dataset.literal(:name).should == "name"
|
943
943
|
@dataset.literal(:items__name).should == "items.name"
|
944
|
+
@dataset.literal(:"items__na#m$e").should == "items.na#m$e"
|
944
945
|
end
|
945
|
-
|
946
|
+
|
946
947
|
specify "should call sql_literal with dataset on type if not natively supported and the object responds to it" do
|
947
948
|
@a = Class.new do
|
948
949
|
def sql_literal(ds)
|
@@ -1058,7 +1059,7 @@ context "Dataset#literal" do
|
|
1058
1059
|
end
|
1059
1060
|
end
|
1060
1061
|
|
1061
|
-
|
1062
|
+
describe "Dataset#from" do
|
1062
1063
|
before do
|
1063
1064
|
@dataset = Sequel::Dataset.new(nil)
|
1064
1065
|
end
|
@@ -1114,14 +1115,26 @@ context "Dataset#from" do
|
|
1114
1115
|
specify "should accept :schema__table___alias symbol format" do
|
1115
1116
|
@dataset.from(:abc__def).select_sql.should ==
|
1116
1117
|
"SELECT * FROM abc.def"
|
1118
|
+
@dataset.from(:a_b__c).select_sql.should ==
|
1119
|
+
"SELECT * FROM a_b.c"
|
1120
|
+
@dataset.from(:'#__#').select_sql.should ==
|
1121
|
+
'SELECT * FROM #.#'
|
1117
1122
|
@dataset.from(:abc__def___d).select_sql.should ==
|
1118
1123
|
"SELECT * FROM abc.def AS d"
|
1124
|
+
@dataset.from(:a_b__d_e___f_g).select_sql.should ==
|
1125
|
+
"SELECT * FROM a_b.d_e AS f_g"
|
1126
|
+
@dataset.from(:'#__#___#').select_sql.should ==
|
1127
|
+
'SELECT * FROM #.# AS #'
|
1119
1128
|
@dataset.from(:abc___def).select_sql.should ==
|
1120
1129
|
"SELECT * FROM abc AS def"
|
1130
|
+
@dataset.from(:a_b___c_d).select_sql.should ==
|
1131
|
+
"SELECT * FROM a_b AS c_d"
|
1132
|
+
@dataset.from(:'#___#').select_sql.should ==
|
1133
|
+
'SELECT * FROM # AS #'
|
1121
1134
|
end
|
1122
1135
|
end
|
1123
1136
|
|
1124
|
-
|
1137
|
+
describe "Dataset#select" do
|
1125
1138
|
before do
|
1126
1139
|
@d = Sequel::Dataset.new(nil).from(:test)
|
1127
1140
|
end
|
@@ -1185,7 +1198,7 @@ context "Dataset#select" do
|
|
1185
1198
|
end
|
1186
1199
|
end
|
1187
1200
|
|
1188
|
-
|
1201
|
+
describe "Dataset#select_all" do
|
1189
1202
|
before do
|
1190
1203
|
@d = Sequel::Dataset.new(nil).from(:test)
|
1191
1204
|
end
|
@@ -1199,7 +1212,7 @@ context "Dataset#select_all" do
|
|
1199
1212
|
end
|
1200
1213
|
end
|
1201
1214
|
|
1202
|
-
|
1215
|
+
describe "Dataset#select_more" do
|
1203
1216
|
before do
|
1204
1217
|
@d = Sequel::Dataset.new(nil).from(:test)
|
1205
1218
|
end
|
@@ -1221,7 +1234,7 @@ context "Dataset#select_more" do
|
|
1221
1234
|
end
|
1222
1235
|
end
|
1223
1236
|
|
1224
|
-
|
1237
|
+
describe "Dataset#select_append" do
|
1225
1238
|
before do
|
1226
1239
|
@d = Sequel::Dataset.new(nil).from(:test)
|
1227
1240
|
end
|
@@ -1243,7 +1256,7 @@ context "Dataset#select_append" do
|
|
1243
1256
|
end
|
1244
1257
|
end
|
1245
1258
|
|
1246
|
-
|
1259
|
+
describe "Dataset#order" do
|
1247
1260
|
before do
|
1248
1261
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1249
1262
|
end
|
@@ -1298,31 +1311,31 @@ context "Dataset#order" do
|
|
1298
1311
|
end
|
1299
1312
|
end
|
1300
1313
|
|
1301
|
-
|
1314
|
+
describe "Dataset#unfiltered" do
|
1302
1315
|
specify "should remove filtering from the dataset" do
|
1303
1316
|
Sequel::Dataset.new(nil).from(:test).filter(:score=>1).unfiltered.sql.should == 'SELECT * FROM test'
|
1304
1317
|
end
|
1305
1318
|
end
|
1306
1319
|
|
1307
|
-
|
1320
|
+
describe "Dataset#unlimited" do
|
1308
1321
|
specify "should remove limit and offset from the dataset" do
|
1309
1322
|
Sequel::Dataset.new(nil).from(:test).limit(1, 2).unlimited.sql.should == 'SELECT * FROM test'
|
1310
1323
|
end
|
1311
1324
|
end
|
1312
1325
|
|
1313
|
-
|
1326
|
+
describe "Dataset#ungrouped" do
|
1314
1327
|
specify "should remove group and having clauses from the dataset" do
|
1315
1328
|
Sequel::Dataset.new(nil).from(:test).group(:a).having(:b).ungrouped.sql.should == 'SELECT * FROM test'
|
1316
1329
|
end
|
1317
1330
|
end
|
1318
1331
|
|
1319
|
-
|
1332
|
+
describe "Dataset#unordered" do
|
1320
1333
|
specify "should remove ordering from the dataset" do
|
1321
1334
|
Sequel::Dataset.new(nil).from(:test).order(:name).unordered.sql.should == 'SELECT * FROM test'
|
1322
1335
|
end
|
1323
1336
|
end
|
1324
1337
|
|
1325
|
-
|
1338
|
+
describe "Dataset#with_sql" do
|
1326
1339
|
before do
|
1327
1340
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1328
1341
|
end
|
@@ -1344,7 +1357,7 @@ context "Dataset#with_sql" do
|
|
1344
1357
|
end
|
1345
1358
|
end
|
1346
1359
|
|
1347
|
-
|
1360
|
+
describe "Dataset#order_by" do
|
1348
1361
|
before do
|
1349
1362
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1350
1363
|
end
|
@@ -1375,7 +1388,7 @@ context "Dataset#order_by" do
|
|
1375
1388
|
end
|
1376
1389
|
end
|
1377
1390
|
|
1378
|
-
|
1391
|
+
describe "Dataset#order_more and order_append" do
|
1379
1392
|
before do
|
1380
1393
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1381
1394
|
end
|
@@ -1398,7 +1411,7 @@ context "Dataset#order_more and order_append" do
|
|
1398
1411
|
end
|
1399
1412
|
end
|
1400
1413
|
|
1401
|
-
|
1414
|
+
describe "Dataset#order_prepend" do
|
1402
1415
|
before do
|
1403
1416
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1404
1417
|
end
|
@@ -1419,7 +1432,7 @@ context "Dataset#order_prepend" do
|
|
1419
1432
|
end
|
1420
1433
|
end
|
1421
1434
|
|
1422
|
-
|
1435
|
+
describe "Dataset#reverse_order" do
|
1423
1436
|
before do
|
1424
1437
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1425
1438
|
end
|
@@ -1467,7 +1480,7 @@ context "Dataset#reverse_order" do
|
|
1467
1480
|
end
|
1468
1481
|
end
|
1469
1482
|
|
1470
|
-
|
1483
|
+
describe "Dataset#limit" do
|
1471
1484
|
before do
|
1472
1485
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1473
1486
|
end
|
@@ -1521,7 +1534,7 @@ context "Dataset#limit" do
|
|
1521
1534
|
end
|
1522
1535
|
end
|
1523
1536
|
|
1524
|
-
|
1537
|
+
describe "Dataset#naked" do
|
1525
1538
|
before do
|
1526
1539
|
@d1 = Sequel::Dataset.new(nil, {1 => 2, 3 => 4})
|
1527
1540
|
@d2 = @d1.clone
|
@@ -1534,7 +1547,7 @@ context "Dataset#naked" do
|
|
1534
1547
|
end
|
1535
1548
|
end
|
1536
1549
|
|
1537
|
-
|
1550
|
+
describe "Dataset#qualified_column_name" do
|
1538
1551
|
before do
|
1539
1552
|
@dataset = Sequel::Dataset.new(nil).from(:test)
|
1540
1553
|
end
|
@@ -1569,7 +1582,7 @@ class DummyDataset < Sequel::Dataset
|
|
1569
1582
|
end
|
1570
1583
|
end
|
1571
1584
|
|
1572
|
-
|
1585
|
+
describe "Dataset#map" do
|
1573
1586
|
before do
|
1574
1587
|
@d = DummyDataset.new(nil).from(:items)
|
1575
1588
|
end
|
@@ -1587,7 +1600,7 @@ context "Dataset#map" do
|
|
1587
1600
|
end
|
1588
1601
|
end
|
1589
1602
|
|
1590
|
-
|
1603
|
+
describe "Dataset#to_hash" do
|
1591
1604
|
before do
|
1592
1605
|
@d = DummyDataset.new(nil).from(:items)
|
1593
1606
|
end
|
@@ -1603,7 +1616,7 @@ context "Dataset#to_hash" do
|
|
1603
1616
|
end
|
1604
1617
|
end
|
1605
1618
|
|
1606
|
-
|
1619
|
+
describe "Dataset#distinct" do
|
1607
1620
|
before do
|
1608
1621
|
@db = MockDatabase.new
|
1609
1622
|
@dataset = @db[:test].select(:name)
|
@@ -1630,7 +1643,7 @@ context "Dataset#distinct" do
|
|
1630
1643
|
end
|
1631
1644
|
end
|
1632
1645
|
|
1633
|
-
|
1646
|
+
describe "Dataset#count" do
|
1634
1647
|
before do
|
1635
1648
|
@c = Class.new(Sequel::Dataset) do
|
1636
1649
|
def self.sql
|
@@ -1692,7 +1705,7 @@ context "Dataset#count" do
|
|
1692
1705
|
end
|
1693
1706
|
|
1694
1707
|
|
1695
|
-
|
1708
|
+
describe "Dataset#group_and_count" do
|
1696
1709
|
before do
|
1697
1710
|
@c = Class.new(Sequel::Dataset) do
|
1698
1711
|
def self.sql
|
@@ -1742,7 +1755,7 @@ context "Dataset#group_and_count" do
|
|
1742
1755
|
end
|
1743
1756
|
end
|
1744
1757
|
|
1745
|
-
|
1758
|
+
describe "Dataset#empty?" do
|
1746
1759
|
specify "should return true if records exist in the dataset" do
|
1747
1760
|
@c = Class.new(Sequel::Dataset) do
|
1748
1761
|
def self.sql
|
@@ -1761,7 +1774,7 @@ context "Dataset#empty?" do
|
|
1761
1774
|
end
|
1762
1775
|
end
|
1763
1776
|
|
1764
|
-
|
1777
|
+
describe "Dataset#first_source_alias" do
|
1765
1778
|
before do
|
1766
1779
|
@ds = Sequel::Dataset.new(nil)
|
1767
1780
|
end
|
@@ -1791,7 +1804,7 @@ context "Dataset#first_source_alias" do
|
|
1791
1804
|
end
|
1792
1805
|
end
|
1793
1806
|
|
1794
|
-
|
1807
|
+
describe "Dataset#first_source_table" do
|
1795
1808
|
before do
|
1796
1809
|
@ds = Sequel::Dataset.new(nil)
|
1797
1810
|
end
|
@@ -1814,7 +1827,7 @@ context "Dataset#first_source_table" do
|
|
1814
1827
|
end
|
1815
1828
|
end
|
1816
1829
|
|
1817
|
-
|
1830
|
+
describe "Dataset#from_self" do
|
1818
1831
|
before do
|
1819
1832
|
@ds = Sequel::Dataset.new(nil).from(:test).select(:name).limit(1)
|
1820
1833
|
end
|
@@ -1842,7 +1855,7 @@ context "Dataset#from_self" do
|
|
1842
1855
|
|
1843
1856
|
end
|
1844
1857
|
|
1845
|
-
|
1858
|
+
describe "Dataset#join_table" do
|
1846
1859
|
before do
|
1847
1860
|
@d = MockDataset.new(nil).from(:items)
|
1848
1861
|
@d.quote_identifiers = true
|
@@ -2156,7 +2169,7 @@ context "Dataset#join_table" do
|
|
2156
2169
|
end
|
2157
2170
|
end
|
2158
2171
|
|
2159
|
-
|
2172
|
+
describe "Dataset#[]=" do
|
2160
2173
|
before do
|
2161
2174
|
c = Class.new(Sequel::Dataset) do
|
2162
2175
|
def last_sql
|
@@ -2177,7 +2190,7 @@ context "Dataset#[]=" do
|
|
2177
2190
|
end
|
2178
2191
|
end
|
2179
2192
|
|
2180
|
-
|
2193
|
+
describe "Dataset#set" do
|
2181
2194
|
before do
|
2182
2195
|
c = Class.new(Sequel::Dataset) do
|
2183
2196
|
def last_sql
|
@@ -2199,7 +2212,7 @@ context "Dataset#set" do
|
|
2199
2212
|
end
|
2200
2213
|
|
2201
2214
|
|
2202
|
-
|
2215
|
+
describe "Dataset#insert_multiple" do
|
2203
2216
|
before do
|
2204
2217
|
c = Class.new(Sequel::Dataset) do
|
2205
2218
|
attr_reader :inserts
|
@@ -2224,7 +2237,7 @@ context "Dataset#insert_multiple" do
|
|
2224
2237
|
end
|
2225
2238
|
end
|
2226
2239
|
|
2227
|
-
|
2240
|
+
describe "Dataset aggregate methods" do
|
2228
2241
|
before do
|
2229
2242
|
c = Class.new(Sequel::Dataset) do
|
2230
2243
|
def fetch_rows(sql)
|
@@ -2263,7 +2276,7 @@ context "Dataset aggregate methods" do
|
|
2263
2276
|
end
|
2264
2277
|
end
|
2265
2278
|
|
2266
|
-
|
2279
|
+
describe "Dataset#range" do
|
2267
2280
|
before do
|
2268
2281
|
c = Class.new(Sequel::Dataset) do
|
2269
2282
|
class_variable_set(:@@sql, nil)
|
@@ -2296,7 +2309,7 @@ context "Dataset#range" do
|
|
2296
2309
|
end
|
2297
2310
|
end
|
2298
2311
|
|
2299
|
-
|
2312
|
+
describe "Dataset#interval" do
|
2300
2313
|
before do
|
2301
2314
|
c = Class.new(Sequel::Dataset) do
|
2302
2315
|
class_variable_set(:@@sql, nil)
|
@@ -2329,7 +2342,7 @@ context "Dataset#interval" do
|
|
2329
2342
|
end
|
2330
2343
|
end
|
2331
2344
|
|
2332
|
-
|
2345
|
+
describe "Dataset #first and #last" do
|
2333
2346
|
before do
|
2334
2347
|
@c = Class.new(Sequel::Dataset) do
|
2335
2348
|
def each(&block)
|
@@ -2392,7 +2405,7 @@ context "Dataset #first and #last" do
|
|
2392
2405
|
end
|
2393
2406
|
end
|
2394
2407
|
|
2395
|
-
|
2408
|
+
describe "Dataset compound operations" do
|
2396
2409
|
before do
|
2397
2410
|
@a = Sequel::Dataset.new(nil).from(:a).filter(:z => 1)
|
2398
2411
|
@b = Sequel::Dataset.new(nil).from(:b).filter(:z => 2)
|
@@ -2506,7 +2519,7 @@ context "Dataset compound operations" do
|
|
2506
2519
|
|
2507
2520
|
end
|
2508
2521
|
|
2509
|
-
|
2522
|
+
describe "Dataset#[]" do
|
2510
2523
|
before do
|
2511
2524
|
@c = Class.new(Sequel::Dataset) do
|
2512
2525
|
class_variable_set(:@@last_dataset, nil)
|
@@ -2532,7 +2545,7 @@ context "Dataset#[]" do
|
|
2532
2545
|
end
|
2533
2546
|
end
|
2534
2547
|
|
2535
|
-
|
2548
|
+
describe "Dataset#single_record" do
|
2536
2549
|
before do
|
2537
2550
|
@c = Class.new(Sequel::Dataset) do
|
2538
2551
|
def fetch_rows(sql)
|
@@ -2556,7 +2569,7 @@ context "Dataset#single_record" do
|
|
2556
2569
|
end
|
2557
2570
|
end
|
2558
2571
|
|
2559
|
-
|
2572
|
+
describe "Dataset#single_value" do
|
2560
2573
|
before do
|
2561
2574
|
@c = Class.new(Sequel::Dataset) do
|
2562
2575
|
def fetch_rows(sql)
|
@@ -2585,7 +2598,7 @@ context "Dataset#single_value" do
|
|
2585
2598
|
end
|
2586
2599
|
end
|
2587
2600
|
|
2588
|
-
|
2601
|
+
describe "Dataset#get" do
|
2589
2602
|
before do
|
2590
2603
|
@c = Class.new(Sequel::Dataset) do
|
2591
2604
|
attr_reader :last_sql
|
@@ -2622,7 +2635,7 @@ context "Dataset#get" do
|
|
2622
2635
|
end
|
2623
2636
|
end
|
2624
2637
|
|
2625
|
-
|
2638
|
+
describe "Dataset#set_row_proc" do
|
2626
2639
|
before do
|
2627
2640
|
@c = Class.new(Sequel::Dataset) do
|
2628
2641
|
def fetch_rows(sql, &block)
|
@@ -2649,7 +2662,7 @@ context "Dataset#set_row_proc" do
|
|
2649
2662
|
end
|
2650
2663
|
end
|
2651
2664
|
|
2652
|
-
|
2665
|
+
describe "Dataset#<<" do
|
2653
2666
|
before do
|
2654
2667
|
@d = Sequel::Dataset.new(nil)
|
2655
2668
|
@d.meta_def(:insert) do |*args|
|
@@ -2662,7 +2675,7 @@ context "Dataset#<<" do
|
|
2662
2675
|
end
|
2663
2676
|
end
|
2664
2677
|
|
2665
|
-
|
2678
|
+
describe "Dataset#columns" do
|
2666
2679
|
before do
|
2667
2680
|
@dataset = DummyDataset.new(nil).from(:items)
|
2668
2681
|
@dataset.meta_def(:columns=) {|c| @columns = c}
|
@@ -2689,7 +2702,7 @@ context "Dataset#columns" do
|
|
2689
2702
|
end
|
2690
2703
|
end
|
2691
2704
|
|
2692
|
-
|
2705
|
+
describe "Dataset#columns!" do
|
2693
2706
|
before do
|
2694
2707
|
@dataset = DummyDataset.new(nil).from(:items)
|
2695
2708
|
i = 'a'
|
@@ -2704,7 +2717,7 @@ context "Dataset#columns!" do
|
|
2704
2717
|
end
|
2705
2718
|
end
|
2706
2719
|
|
2707
|
-
|
2720
|
+
describe "Dataset#import" do
|
2708
2721
|
before do
|
2709
2722
|
@dbc = Class.new(Sequel::Database) do
|
2710
2723
|
attr_reader :sqls
|
@@ -2784,7 +2797,7 @@ context "Dataset#import" do
|
|
2784
2797
|
end
|
2785
2798
|
end
|
2786
2799
|
|
2787
|
-
|
2800
|
+
describe "Dataset#multi_insert" do
|
2788
2801
|
before do
|
2789
2802
|
@dbc = Class.new do
|
2790
2803
|
attr_reader :sqls
|
@@ -2897,7 +2910,7 @@ context "Dataset#multi_insert" do
|
|
2897
2910
|
end
|
2898
2911
|
end
|
2899
2912
|
|
2900
|
-
|
2913
|
+
describe "Dataset" do
|
2901
2914
|
before do
|
2902
2915
|
@d = Sequel::Dataset.new(nil).from(:x)
|
2903
2916
|
end
|
@@ -2944,7 +2957,7 @@ context "Dataset" do
|
|
2944
2957
|
end
|
2945
2958
|
end
|
2946
2959
|
|
2947
|
-
|
2960
|
+
describe "Dataset#to_csv" do
|
2948
2961
|
before do
|
2949
2962
|
@c = Class.new(Sequel::Dataset) do
|
2950
2963
|
attr_accessor :data
|
@@ -2976,7 +2989,7 @@ context "Dataset#to_csv" do
|
|
2976
2989
|
end
|
2977
2990
|
end
|
2978
2991
|
|
2979
|
-
|
2992
|
+
describe "Dataset#update_sql" do
|
2980
2993
|
before do
|
2981
2994
|
@ds = Sequel::Dataset.new(nil).from(:items)
|
2982
2995
|
end
|
@@ -2998,7 +3011,7 @@ context "Dataset#update_sql" do
|
|
2998
3011
|
end
|
2999
3012
|
end
|
3000
3013
|
|
3001
|
-
|
3014
|
+
describe "Dataset#insert_sql" do
|
3002
3015
|
before do
|
3003
3016
|
@ds = Sequel::Dataset.new(nil).from(:items)
|
3004
3017
|
end
|
@@ -3092,7 +3105,7 @@ class DummyMummyDatabase < Sequel::Database
|
|
3092
3105
|
end
|
3093
3106
|
end
|
3094
3107
|
|
3095
|
-
|
3108
|
+
describe "Dataset#inspect" do
|
3096
3109
|
before do
|
3097
3110
|
@ds = Sequel::Dataset.new(nil).from(:blah)
|
3098
3111
|
end
|
@@ -3102,7 +3115,7 @@ context "Dataset#inspect" do
|
|
3102
3115
|
end
|
3103
3116
|
end
|
3104
3117
|
|
3105
|
-
|
3118
|
+
describe "Dataset#all" do
|
3106
3119
|
before do
|
3107
3120
|
@c = Class.new(Sequel::Dataset) do
|
3108
3121
|
def fetch_rows(sql, &block)
|
@@ -3133,7 +3146,7 @@ context "Dataset#all" do
|
|
3133
3146
|
end
|
3134
3147
|
end
|
3135
3148
|
|
3136
|
-
|
3149
|
+
describe "Dataset#grep" do
|
3137
3150
|
before do
|
3138
3151
|
@ds = Sequel::Dataset.new(nil).from(:posts)
|
3139
3152
|
end
|
@@ -3207,7 +3220,7 @@ context "Dataset#grep" do
|
|
3207
3220
|
end
|
3208
3221
|
end
|
3209
3222
|
|
3210
|
-
|
3223
|
+
describe "Dataset default #fetch_rows, #insert, #update, #delete, #truncate, #execute" do
|
3211
3224
|
before do
|
3212
3225
|
@db = Sequel::Database.new
|
3213
3226
|
@ds = @db[:items]
|
@@ -3255,7 +3268,7 @@ context "Dataset default #fetch_rows, #insert, #update, #delete, #truncate, #exe
|
|
3255
3268
|
end
|
3256
3269
|
end
|
3257
3270
|
|
3258
|
-
|
3271
|
+
describe "Dataset prepared statements and bound variables " do
|
3259
3272
|
before do
|
3260
3273
|
@db = Sequel::Database.new
|
3261
3274
|
@db.meta_def(:sqls){@sqls||=[]}
|
@@ -3342,7 +3355,7 @@ context "Dataset prepared statements and bound variables " do
|
|
3342
3355
|
end
|
3343
3356
|
end
|
3344
3357
|
|
3345
|
-
|
3358
|
+
describe Sequel::Dataset::UnnumberedArgumentMapper do
|
3346
3359
|
before do
|
3347
3360
|
@db = Sequel::Database.new
|
3348
3361
|
@db.meta_def(:sqls){@sqls||=[]}
|
@@ -3388,7 +3401,7 @@ context Sequel::Dataset::UnnumberedArgumentMapper do
|
|
3388
3401
|
end
|
3389
3402
|
end
|
3390
3403
|
|
3391
|
-
|
3404
|
+
describe "Sequel::Dataset#server" do
|
3392
3405
|
specify "should set the server to use for the dataset" do
|
3393
3406
|
@db = Sequel::Database.new
|
3394
3407
|
@ds = @db[:items].server(:s)
|
@@ -3410,7 +3423,7 @@ context "Sequel::Dataset#server" do
|
|
3410
3423
|
end
|
3411
3424
|
end
|
3412
3425
|
|
3413
|
-
|
3426
|
+
describe "Sequel::Dataset#each_server" do
|
3414
3427
|
before do
|
3415
3428
|
@db = Sequel::Database.new(:servers=>{:s=>{}, :i=>{}})
|
3416
3429
|
@ds = @db[:items]
|
@@ -3434,7 +3447,7 @@ context "Sequel::Dataset#each_server" do
|
|
3434
3447
|
end
|
3435
3448
|
end
|
3436
3449
|
|
3437
|
-
|
3450
|
+
describe "Sequel::Dataset #set_defaults" do
|
3438
3451
|
before do
|
3439
3452
|
@ds = Sequel::Dataset.new(nil).from(:items).set_defaults(:x=>1)
|
3440
3453
|
end
|
@@ -3456,7 +3469,7 @@ context "Sequel::Dataset #set_defaults" do
|
|
3456
3469
|
end
|
3457
3470
|
end
|
3458
3471
|
|
3459
|
-
|
3472
|
+
describe "Sequel::Dataset #set_overrides" do
|
3460
3473
|
before do
|
3461
3474
|
@ds = Sequel::Dataset.new(nil).from(:items).set_overrides(:x=>1)
|
3462
3475
|
end
|
@@ -3478,7 +3491,7 @@ context "Sequel::Dataset #set_overrides" do
|
|
3478
3491
|
end
|
3479
3492
|
end
|
3480
3493
|
|
3481
|
-
|
3494
|
+
describe "Sequel::Dataset#qualify" do
|
3482
3495
|
specify "should qualify to the given table" do
|
3483
3496
|
MockDatabase.new[:t].filter{a<b}.qualify(:e).sql.should == 'SELECT e.* FROM t WHERE (e.a < e.b)'
|
3484
3497
|
end
|
@@ -3488,13 +3501,13 @@ context "Sequel::Dataset#qualify" do
|
|
3488
3501
|
end
|
3489
3502
|
end
|
3490
3503
|
|
3491
|
-
|
3504
|
+
describe "Sequel::Dataset#qualify_to" do
|
3492
3505
|
specify "should qualify to the given table" do
|
3493
3506
|
MockDatabase.new[:t].filter{a<b}.qualify_to(:e).sql.should == 'SELECT e.* FROM t WHERE (e.a < e.b)'
|
3494
3507
|
end
|
3495
3508
|
end
|
3496
3509
|
|
3497
|
-
|
3510
|
+
describe "Sequel::Dataset#qualify_to_first_source" do
|
3498
3511
|
before do
|
3499
3512
|
@ds = MockDatabase.new[:t]
|
3500
3513
|
end
|
@@ -3586,7 +3599,7 @@ context "Sequel::Dataset#qualify_to_first_source" do
|
|
3586
3599
|
end
|
3587
3600
|
end
|
3588
3601
|
|
3589
|
-
|
3602
|
+
describe "Sequel::Dataset #with and #with_recursive" do
|
3590
3603
|
before do
|
3591
3604
|
@db = MockDatabase.new
|
3592
3605
|
@ds = @db[:t]
|
@@ -3812,7 +3825,7 @@ describe "Sequel timezone support" do
|
|
3812
3825
|
end
|
3813
3826
|
end
|
3814
3827
|
|
3815
|
-
|
3828
|
+
describe "Sequel::Dataset#select_map" do
|
3816
3829
|
before do
|
3817
3830
|
@ds = MockDatabase.new[:t]
|
3818
3831
|
def @ds.fetch_rows(sql)
|
@@ -3849,7 +3862,7 @@ context "Sequel::Dataset#select_map" do
|
|
3849
3862
|
end
|
3850
3863
|
end
|
3851
3864
|
|
3852
|
-
|
3865
|
+
describe "Sequel::Dataset#select_order_map" do
|
3853
3866
|
before do
|
3854
3867
|
@ds = MockDatabase.new[:t]
|
3855
3868
|
def @ds.fetch_rows(sql)
|
@@ -3891,7 +3904,7 @@ context "Sequel::Dataset#select_order_map" do
|
|
3891
3904
|
end
|
3892
3905
|
end
|
3893
3906
|
|
3894
|
-
|
3907
|
+
describe "Sequel::Dataset#select_hash" do
|
3895
3908
|
before do
|
3896
3909
|
@ds = MockDatabase.new[:t]
|
3897
3910
|
def @ds.set_fr_yield(hs)
|
@@ -3929,7 +3942,7 @@ context "Sequel::Dataset#select_hash" do
|
|
3929
3942
|
end
|
3930
3943
|
end
|
3931
3944
|
|
3932
|
-
|
3945
|
+
describe "Modifying joined datasets" do
|
3933
3946
|
before do
|
3934
3947
|
@ds = MockDatabase.new.from(:b, :c).join(:d, [:id]).where(:id => 2)
|
3935
3948
|
@ds.meta_def(:supports_modifying_joins?){true}
|
@@ -3947,7 +3960,7 @@ context "Modifying joined datasets" do
|
|
3947
3960
|
end
|
3948
3961
|
end
|
3949
3962
|
|
3950
|
-
|
3963
|
+
describe "Dataset#lock_style and for_update" do
|
3951
3964
|
before do
|
3952
3965
|
@ds = MockDatabase.new[:t]
|
3953
3966
|
end
|