This is an automated email from the ASF dual-hosted git repository.
cancai pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/main by this push:
new 638d3c4331 [CALCITE-6856] Add JOIN test for MongoDB adapter
638d3c4331 is described below
commit 638d3c433182840fc51b5ec8dd9077a50947269f
Author: xuyu <[email protected]>
AuthorDate: Tue Feb 25 22:00:23 2025 +0800
[CALCITE-6856] Add JOIN test for MongoDB adapter
---
.../calcite/adapter/mongodb/MongoAdapterTest.java | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git
a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
index 483aa108b3..0aeb6ef87c 100644
---
a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
+++
b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
@@ -217,6 +217,27 @@ private CalciteAssert.AssertThat assertModel(URL url) {
"{$project: {STATE: '$state', ID: '$_id'}}"));
}
+ @Test void testJoin() {
+ assertModel(MODEL)
+ .query("select b.state, a.id from zips as a join zips as b on
a.id=b.id where a.id='02401' "
+ + "fetch next 3 rows only")
+ .returnsOrdered("STATE=MA; ID=02401")
+ .queryContains(
+ mongoChecker("{$match: {_id: \"02401\"}}",
+ "{$project: {ID: '$_id'}}",
+ "{$sort: {ID: 1}}"));
+
+ assertModel(MODEL)
+ .query("select b.state, a.id from zips as a join zips as b on
a.id=b.id "
+ + "fetch next 3 rows only")
+ .returnsOrdered("STATE=MA; ID=01701",
+ "STATE=MA; ID=02154",
+ "STATE=MA; ID=02401")
+ .queryContains(
+ mongoChecker("{$project: {ID: '$_id'}}",
+ "{$sort: {ID: 1}}"));
+ }
+
@Disabled
@Test void testFilterSort() {
// LONGITUDE and LATITUDE are null because of CALCITE-194.