Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions QueryBuilder.Tests/SelectTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public void Union()

var c = Compile(mobiles);

Assert.Equal("SELECT * FROM [Phones] UNION (SELECT * FROM [Laptops])", c[EngineCodes.SqlServer]);
Assert.Equal("SELECT * FROM [Phones] UNION SELECT * FROM [Laptops]", c[EngineCodes.SqlServer]);


Assert.Equal("SELECT * FROM \"PHONES\" UNION SELECT * FROM \"LAPTOPS\"", c[EngineCodes.Firebird]);
Expand All @@ -190,8 +190,8 @@ public void UnionWithBindings()

var c = Compile(mobiles);

Assert.Equal("SELECT * FROM [Phones] UNION (SELECT * FROM [Laptops] WHERE [Type] = 'A')", c[EngineCodes.SqlServer]);
Assert.Equal("SELECT * FROM `Phones` UNION (SELECT * FROM `Laptops` WHERE `Type` = 'A')", c[EngineCodes.MySql]);
Assert.Equal("SELECT * FROM [Phones] UNION SELECT * FROM [Laptops] WHERE [Type] = 'A'", c[EngineCodes.SqlServer]);
Assert.Equal("SELECT * FROM `Phones` UNION SELECT * FROM `Laptops` WHERE `Type` = 'A'", c[EngineCodes.MySql]);

Assert.Equal("SELECT * FROM \"PHONES\" UNION SELECT * FROM \"LAPTOPS\" WHERE \"TYPE\" = 'A'", c[EngineCodes.Firebird]);
}
Expand All @@ -203,8 +203,8 @@ public void RawUnionWithBindings()

var c = Compile(mobiles);

Assert.Equal("SELECT * FROM [Phones] UNION (SELECT * FROM [Laptops] WHERE [Type] = 'A')", c[EngineCodes.SqlServer]);
Assert.Equal("SELECT * FROM `Phones` UNION (SELECT * FROM `Laptops` WHERE `Type` = 'A')", c[EngineCodes.MySql]);
Assert.Equal("SELECT * FROM [Phones] UNION SELECT * FROM [Laptops] WHERE [Type] = 'A'", c[EngineCodes.SqlServer]);
Assert.Equal("SELECT * FROM `Phones` UNION SELECT * FROM `Laptops` WHERE `Type` = 'A'", c[EngineCodes.MySql]);
}

[Fact]
Expand All @@ -217,7 +217,7 @@ public void MultipleUnion()

var c = Compile(mobiles);

Assert.Equal("SELECT * FROM [Phones] UNION (SELECT * FROM [Laptops]) UNION (SELECT * FROM [Tablets])",
Assert.Equal("SELECT * FROM [Phones] UNION SELECT * FROM [Laptops] UNION SELECT * FROM [Tablets]",
c[EngineCodes.SqlServer]);


Expand All @@ -236,7 +236,7 @@ public void MultipleUnionWithBindings()
var c = Compile(mobiles);

Assert.Equal(
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION (SELECT * FROM [Laptops] WHERE [Price] > 1000) UNION (SELECT * FROM [Tablets] WHERE [Price] > 2000)",
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION SELECT * FROM [Laptops] WHERE [Price] > 1000 UNION SELECT * FROM [Tablets] WHERE [Price] > 2000",
c[EngineCodes.SqlServer]);


Expand All @@ -257,7 +257,7 @@ public void MultipleUnionWithBindingsAndPagination()
var c = Compile(mobiles);

Assert.Equal(
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION (SELECT * FROM [Laptops] WHERE [Price] > 1000) UNION ALL (SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS [row_num] FROM [Tablets] WHERE [Price] > 2000) AS [results_wrapper] WHERE [row_num] BETWEEN 16 AND 30)",
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION SELECT * FROM [Laptops] WHERE [Price] > 1000 UNION ALL SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS [row_num] FROM [Tablets] WHERE [Price] > 2000) AS [results_wrapper] WHERE [row_num] BETWEEN 16 AND 30",
c[EngineCodes.SqlServer]);


Expand All @@ -277,7 +277,7 @@ public void UnionWithCallbacks()
var c = Compile(mobiles);

Assert.Equal(
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION (SELECT * FROM [Laptops]) UNION ALL (SELECT * FROM [Tablets])",
"SELECT * FROM [Phones] WHERE [Price] < 3000 UNION SELECT * FROM [Laptops] UNION ALL SELECT * FROM [Tablets]",
c[EngineCodes.SqlServer]);


Expand All @@ -300,15 +300,15 @@ public void UnionWithDifferentEngine()
var c = Compile(mobiles);

Assert.Equal(
"SELECT * FROM [Phones] WHERE [Price] < 300 EXCEPT (SELECT * FROM [Phones] WHERE NOT ([Os] = 'iOS')) UNION ALL (SELECT * FROM [Tablets] WHERE [Price] < 100)",
"SELECT * FROM [Phones] WHERE [Price] < 300 EXCEPT SELECT * FROM [Phones] WHERE NOT ([Os] = 'iOS') UNION ALL SELECT * FROM [Tablets] WHERE [Price] < 100",
c[EngineCodes.SqlServer]);

Assert.Equal(
"SELECT * FROM `Phones` WHERE `Price` < 300 INTERSECT ALL (SELECT * FROM `Watches` WHERE `Os` = 'Android') UNION ALL (SELECT * FROM `Tablets` WHERE `Price` < 100)",
"SELECT * FROM `Phones` WHERE `Price` < 300 INTERSECT ALL SELECT * FROM `Watches` WHERE `Os` = 'Android' UNION ALL SELECT * FROM `Tablets` WHERE `Price` < 100",
c[EngineCodes.MySql]);

Assert.Equal(
"SELECT * FROM \"Phones\" WHERE \"Price\" < 300 UNION (SELECT * FROM \"Laptops\" WHERE \"Price\" < 800) UNION ALL (SELECT * FROM \"Tablets\" WHERE \"Price\" < 100)",
"SELECT * FROM \"Phones\" WHERE \"Price\" < 300 UNION SELECT * FROM \"Laptops\" WHERE \"Price\" < 800 UNION ALL SELECT * FROM \"Tablets\" WHERE \"Price\" < 100",
c[EngineCodes.PostgreSql]);

Assert.Equal(
Expand Down