Skip to content

Commit 592ed28

Browse files
committed
fix(ibis): updated java servers with new models
1 parent dbff7d8 commit 592ed28

21 files changed

+61
-57
lines changed

wren-base/src/main/java/io/wren/base/dto/Model.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class Model
3434
private final String baseObject;
3535
private final TableReference tableReference;
3636
private final List<Column> columns;
37-
private final String primaryKey;
37+
private final List<String> primaryKey;
3838
private final boolean cached;
3939
private final Duration refreshTime;
4040

@@ -48,17 +48,17 @@ public static Model model(String name, String refSql, List<Column> columns, bool
4848
return new Model(name, refSql, null, null, columns, null, cached, null);
4949
}
5050

51-
public static Model model(String name, String refSql, List<Column> columns, String primaryKey)
51+
public static Model model(String name, String refSql, List<Column> columns, List<String> primaryKey)
5252
{
5353
return new Model(name, refSql, null, null, columns, primaryKey, false, null);
5454
}
5555

56-
public static Model onBaseObject(String name, String baseObject, List<Column> columns, String primaryKey)
56+
public static Model onBaseObject(String name, String baseObject, List<Column> columns, List<String> primaryKey)
5757
{
5858
return new Model(name, null, baseObject, null, columns, primaryKey, false, null);
5959
}
6060

61-
public static Model onTableReference(String name, TableReference tableReference, List<Column> columns, String primaryKey)
61+
public static Model onTableReference(String name, TableReference tableReference, List<Column> columns, List<String> primaryKey)
6262
{
6363
return new Model(name, null, null, tableReference, columns, primaryKey, false, null);
6464
}
@@ -70,7 +70,7 @@ public Model(
7070
@JsonProperty("baseObject") String baseObject,
7171
@JsonProperty("tableReference") TableReference tableReference,
7272
@JsonProperty("columns") List<Column> columns,
73-
@JsonProperty("primaryKey") String primaryKey,
73+
@JsonProperty("primaryKey") List<String> primaryKey,
7474
@JsonProperty("cached") boolean cached,
7575
@JsonProperty("refreshTime") Duration refreshTime)
7676
{
@@ -130,7 +130,7 @@ public List<Column> getColumns()
130130
}
131131

132132
@JsonProperty
133-
public String getPrimaryKey()
133+
public List<String> getPrimaryKey()
134134
{
135135
return primaryKey;
136136
}

wren-base/src/test/java/io/wren/base/dto/TestMacro.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void testOneParameterCall()
8080
Column.column("custkey_pass2Macro", WrenTypes.INTEGER, null, true, "{{pass2Macro('custkey', addOne, addTwo)}}"),
8181
Column.column("custkey_sum_addOne", WrenTypes.INTEGER, null, true, "{{addOne('sum(custkey)')}}"),
8282
Column.column("name", WrenTypes.VARCHAR, null, true)),
83-
"pk")))
83+
List.of("pk"))))
8484
.setMacros(List.of(
8585
Macro.macro("addOne", "(text: Expression) => {{ text }} + 1"),
8686
Macro.macro("addTwo", "(text: Expression) => {{ text }} + 2"),
@@ -115,7 +115,7 @@ public void testTwoParameterCall()
115115
Column.column("custkey_concat_name", WrenTypes.INTEGER, null, true, "{{concat('custkey', 'name')}}"),
116116
Column.column("custkey_callAddOne", WrenTypes.INTEGER, null, true, "{{addPrefixOne('custkey')}}"),
117117
Column.column("custkey_pass1Macro", WrenTypes.INTEGER, null, true, "{{pass1Macro('custkey', 'name', concat)}}")),
118-
"pk")))
118+
List.of("pk"))))
119119
.setMacros(List.of(
120120
Macro.macro("concat", "(text: Expression, text2: Expression) => {{ text }} || {{ text2 }}"),
121121
Macro.macro("addPrefixOne", "(text: Expression) => {{concat(\"'1'\", text)}}"),
@@ -145,7 +145,7 @@ public void testZeroParameterCall()
145145
Column.column("standardTime", WrenTypes.INTEGER, null, true, "{{standardTime()}}"),
146146
Column.column("callStandardTime", WrenTypes.INTEGER, null, true, "{{callStandardTime()}}"),
147147
Column.column("passStandardTime", WrenTypes.INTEGER, null, true, "{{passStandardTime(standardTime)}}")),
148-
"pk")))
148+
List.of("pk"))))
149149
.setMacros(List.of(
150150
Macro.macro("standardTime", "() => standardTime"),
151151
Macro.macro("callStandardTime", "() => {{callStandardTime()}}"),

wren-base/src/test/java/io/wren/base/dto/TestManifestSerDe.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private static Manifest createManifest()
5959
new Column("shippriority", "integer", null, false, true, null),
6060
new Column("comment", "string", null, false, true, null),
6161
new Column("customer", "CustomerModel", "OrdersCustomer", false, true, null)),
62-
"orderkey",
62+
List.of("orderkey"),
6363
false,
6464
null),
6565
new Model("LineitemModel",
@@ -89,7 +89,7 @@ private static Manifest createManifest()
8989
new Column("orders", "OrdersModel", "OrdersCustomer", false, true, null),
9090
// calculated field
9191
new Column("orders_totalprice", WrenTypes.VARCHAR, null, true, false, "SUM(orders.totalprice)")),
92-
"custkey",
92+
List.of("custkey"),
9393
false,
9494
null)))
9595
.setRelationships(List.of(

wren-base/src/test/java/io/wren/base/sqlrewrite/AbstractTestModel.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ public void testModelOnModel()
259259
ImmutableList.of(
260260
Column.column("mom_custkey", "VARCHAR", null, true, "custkey"),
261261
Column.column("mom_totalprice", "VARCHAR", null, true, "totalprice")),
262-
"mom_custkey");
262+
List.of("mom_custkey"));
263263
Manifest manifest = withDefaultCatalogSchema()
264264
.setModels(List.of(newCustomer, onCustomer, orders))
265265
.setRelationships(List.of(ordersCustomer))

wren-base/src/test/java/io/wren/base/sqlrewrite/TestAllRulesRewrite.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public TestAllRulesRewrite()
6060
Column.column("status", "Inventory", null, true),
6161
Column.column("statusA", "InventoryA", null, true),
6262
Column.relationshipColumn("orders", "Order", "AlbumOrder")),
63-
"id"),
63+
List.of("id")),
6464
Model.model("Band",
6565
"select * from (values (1, 'ZUTOMAYO'), " +
6666
"(2, 'Yorushika')) " +
@@ -69,12 +69,12 @@ public TestAllRulesRewrite()
6969
Column.column("id", WrenTypes.INTEGER, null, true),
7070
Column.column("name", WrenTypes.VARCHAR, null, true),
7171
Column.relationshipColumn("albums", "Album", "AlbumBand")),
72-
"id"),
72+
List.of("id")),
7373
Model.model("Order", "select * from (values (1, 1), (2, 1), (3, 2), (4, 3)) Orders(orderkey, albumId)",
7474
List.of(
7575
Column.column("orderkey", WrenTypes.INTEGER, null, true),
7676
Column.column("albumId", WrenTypes.INTEGER, null, true)),
77-
"orderkey")))
77+
List.of("orderkey"))))
7878
.setRelationships(List.of(
7979
Relationship.relationship("AlbumBand", List.of("Album", "Band"), JoinType.MANY_TO_ONE, "Album.bandId = Band.id"),
8080
Relationship.relationship("AlbumOrder", List.of("Album", "Order"), JoinType.ONE_TO_MANY,

wren-base/src/test/java/io/wren/base/sqlrewrite/TestCumulativeMetric.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void testModelOnCumulativeMetric()
115115
List.of(
116116
Column.column("totalprice", WrenTypes.INTEGER, null, false),
117117
Column.column("orderdate", "DATE", null, false)),
118-
"orderdate"))
118+
List.of("orderdate")))
119119
.build();
120120
WrenMDL mdl = WrenMDL.fromManifest(
121121
copyOf(manifest)

wren-base/src/test/java/io/wren/base/sqlrewrite/TestEnumRewrite.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public TestEnumRewrite()
5050
Column.column("name", WrenTypes.VARCHAR, null, true),
5151
Column.column("sex", "Sex", null, true),
5252
Column.column("country", "Country", null, true)),
53-
"userId")))
53+
List.of("userId"))))
5454
.setEnumDefinitions(List.of(
5555
EnumDefinition.enumDefinition("Sex", List.of(EnumValue.enumValue("MALE"), EnumValue.enumValue("FEMALE"))),
5656
EnumDefinition.enumDefinition("Country", List.of(EnumValue.enumValue("TAIWAN", "tw"), EnumValue.enumValue("JAPAN", "jp"), EnumValue.enumValue("USA", "us")))))

wren-base/src/test/java/io/wren/base/sqlrewrite/TestMetric.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public TestMetric()
6464
Column.calculatedColumn("cumstomer_address", WrenTypes.VARCHAR, "customer.address"),
6565
Column.column("customer", "Customer", "OrdersCustomer", true),
6666
Column.column("lineitem", "Lineitem", "OrdersLineitem", true)),
67-
"orderkey"),
67+
List.of("orderkey")),
6868
Model.model("Customer",
6969
"select * from main.customer",
7070
List.of(
@@ -77,7 +77,7 @@ public TestMetric()
7777
Column.column("mktsegment", WrenTypes.VARCHAR, null, true),
7878
Column.column("comment", WrenTypes.VARCHAR, null, true),
7979
Column.column("orders", "Orders", "OrdersCustomer", true)),
80-
"custkey"),
80+
List.of("custkey")),
8181
Model.model("Lineitem",
8282
"select * from main.lineitem",
8383
List.of(
@@ -99,7 +99,7 @@ public TestMetric()
9999
Column.column("comment", WrenTypes.VARCHAR, null, true),
100100
Column.column("orderkey_linenumber", WrenTypes.VARCHAR, null, true, "concat(orderkey, '-', linenumber)"),
101101
Column.column("order_record", "Orders", "OrdersLineitem", true)),
102-
"orderkey_linenumber")))
102+
List.of("orderkey_linenumber"))))
103103
.setRelationships(List.of(
104104
Relationship.relationship("OrdersCustomer", List.of("Orders", "Customer"), JoinType.MANY_TO_ONE, "Orders.custkey = Customer.custkey"),
105105
Relationship.relationship("OrdersLineitem", List.of("Orders", "Lineitem"), JoinType.ONE_TO_MANY, "Orders.orderkey = Lineitem.orderkey")))
@@ -279,7 +279,7 @@ public void testModelOnMetric()
279279
List.of(
280280
Column.column("name", WrenTypes.VARCHAR, null, true),
281281
Column.column("revenue", WrenTypes.INTEGER, null, true, "totalprice")),
282-
"name"))
282+
List.of("name")))
283283
.build();
284284
WrenMDL mdl = WrenMDL.fromManifest(
285285
copyOf(manifest)

wren-base/src/test/java/io/wren/base/sqlrewrite/TestModelRefSql.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
package io.wren.base.sqlrewrite;
1616

17+
import java.util.List;
18+
1719
import static io.wren.base.dto.Model.model;
1820

1921
public class TestModelRefSql
@@ -22,8 +24,8 @@ public class TestModelRefSql
2224
public TestModelRefSql()
2325
{
2426
super();
25-
orders = model("Orders", "select * from main.orders", ordersColumns, "orderkey");
26-
lineitem = model("Lineitem", "select * from main.lineitem", lineitemColumns, "orderkey_linenumber");
27-
customer = model("Customer", "select * from main.customer", customerColumns, "custkey");
27+
orders = model("Orders", "select * from main.orders", ordersColumns, List.of("orderkey"));
28+
lineitem = model("Lineitem", "select * from main.lineitem", lineitemColumns, List.of("orderkey_linenumber"));
29+
customer = model("Customer", "select * from main.customer", customerColumns, List.of("custkey"));
2830
}
2931
}

wren-base/src/test/java/io/wren/base/sqlrewrite/TestModelTableReference.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
import io.wren.base.dto.Model;
1818
import io.wren.base.dto.TableReference;
1919

20+
import java.util.List;
21+
2022
public class TestModelTableReference
2123
extends AbstractTestModel
2224
{
2325
public TestModelTableReference()
2426
{
2527
super();
26-
orders = Model.onTableReference("Orders", TableReference.tableReference("memory", "main", "orders"), ordersColumns, "orderkey");
27-
lineitem = Model.onTableReference("Lineitem", TableReference.tableReference("memory", "main", "lineitem"), lineitemColumns, "orderkey_linenumber");
28-
customer = Model.onTableReference("Customer", TableReference.tableReference("memory", "main", "customer"), customerColumns, "custkey");
28+
orders = Model.onTableReference("Orders", TableReference.tableReference("memory", "main", "orders"), ordersColumns, List.of("orderkey"));
29+
lineitem = Model.onTableReference("Lineitem", TableReference.tableReference("memory", "main", "lineitem"), lineitemColumns, List.of("orderkey_linenumber"));
30+
customer = Model.onTableReference("Customer", TableReference.tableReference("memory", "main", "customer"), customerColumns, List.of("custkey"));
2931
}
3032
}

wren-base/src/test/java/io/wren/base/sqlrewrite/TestView.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public TestView()
5252
Column.column("shippriority", WrenTypes.INTEGER, null, true),
5353
Column.column("comment", WrenTypes.VARCHAR, null, true),
5454
Column.column("lineitem", "Lineitem", "OrdersLineitem", true)),
55-
"orderkey");
55+
List.of("orderkey"));
5656
}
5757

5858
@Override

wren-base/src/test/java/io/wren/base/sqlrewrite/TestWrenDataLineage.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public TestWrenDataLineage()
6262
Column.column("acctbal", WrenTypes.INTEGER, null, true),
6363
Column.column("mktsegment", WrenTypes.VARCHAR, null, true),
6464
Column.column("comment", WrenTypes.VARCHAR, null, true)),
65-
"custkey");
65+
List.of("custkey"));
6666
orders = Model.model("Orders",
6767
"select * from main.orders",
6868
List.of(
@@ -76,7 +76,7 @@ public TestWrenDataLineage()
7676
Column.column("shippriority", WrenTypes.INTEGER, null, true),
7777
Column.column("comment", WrenTypes.VARCHAR, null, true),
7878
Column.column("lineitem", "Lineitem", "OrdersLineitem", true)),
79-
"orderkey");
79+
List.of("orderkey"));
8080
lineitem = Model.model("Lineitem",
8181
"select * from main.lineitem",
8282
List.of(
@@ -97,7 +97,7 @@ public TestWrenDataLineage()
9797
Column.column("shipmode", WrenTypes.VARCHAR, null, true),
9898
Column.column("comment", WrenTypes.VARCHAR, null, true),
9999
Column.column("orderkey_linenumber", WrenTypes.VARCHAR, null, true, "concat(orderkey, '-', linenumber)")),
100-
"orderkey_linenumber");
100+
List.of("orderkey_linenumber"));
101101
ordersCustomer = Relationship.relationship("OrdersCustomer", List.of("Orders", "Customer"), JoinType.MANY_TO_ONE, "Orders.custkey = Customer.custkey");
102102
ordersLineitem = Relationship.relationship("OrdersLineitem", List.of("Orders", "Lineitem"), JoinType.ONE_TO_MANY, "Orders.orderkey = Lineitem.orderkey");
103103
}
@@ -211,7 +211,7 @@ public void testAnalyzeModelOnModel()
211211
Column.column("mom_name", "VARCHAR", null, true, "name"),
212212
Column.column("mom_custkey", "VARCHAR", null, true, "custkey"),
213213
Column.column("mom_totalprice", "VARCHAR", null, true, "total_price")),
214-
"mom_custkey");
214+
List.of("mom_custkey"));
215215
Model newOrders = addColumnsToModel(
216216
orders,
217217
Column.column("on_customer", "OnCustomer", "OrdersOnCustomer", true),
@@ -447,7 +447,7 @@ public void testAnalyzeModelOnCumulativeMetric()
447447
ImmutableList.of(
448448
Column.column("c_totalprice", WrenTypes.INTEGER, null, true, "totalprice"),
449449
Column.column("c_orderdate", WrenTypes.DATE, null, true, "orderdate")),
450-
"orderdate");
450+
List.of("orderdate"));
451451

452452
Manifest manifest = withDefaultCatalogSchema()
453453
.setModels(List.of(onDailyRevenue, orders))

wren-base/src/test/java/io/wren/base/sqlrewrite/analyzer/TestDecisionPointAnalyzer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ public TestDecisionPointAnalyzer()
9898
mdl = WrenMDL.fromManifest(Manifest.builder()
9999
.setCatalog(DEFAULT_SESSION_CONTEXT.getCatalog().orElseThrow())
100100
.setSchema(DEFAULT_SESSION_CONTEXT.getSchema().orElseThrow())
101-
.setModels(List.of(onTableReference("customer", tableReference(null, "main", "customer"), customerColumns, "custkey"),
102-
onTableReference("orders", tableReference(null, "main", "orders"), ordersColumns, "orderkey"),
101+
.setModels(List.of(onTableReference("customer", tableReference(null, "main", "customer"), customerColumns, List.of("custkey")),
102+
onTableReference("orders", tableReference(null, "main", "orders"), ordersColumns, List.of("orderkey")),
103103
onTableReference("lineitem", tableReference(null, "main", "lineitem"), lineitemColumns, null)))
104104
.setRelationships(List.of(Relationship.relationship("CustomerOrders", List.of("customer", "orders"), JoinType.ONE_TO_MANY, "customer.custkey = orders.custkey")))
105105
.build());

wren-base/src/test/java/io/wren/base/sqlrewrite/analyzer/TestStatementAnalyzer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ public void testTargetDotAll()
250250
column("custkey", "integer", null, false, "o_custkey"),
251251
column("customer", "Customer", "CustomerOrders", false),
252252
calculatedColumn("customer_name", "varchar", "customer.name")),
253-
"orderkey"),
253+
List.of("orderkey")),
254254
model("Customer", "SELECT * FROM tpch.customer",
255255
List.of(column("custkey", "integer", null, false, "c_custkey"),
256256
column("name", "varchar", null, false, "c_name")))))

wren-base/src/test/resources/tpch_mdl.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"relationship": "OrdersLineitem"
4343
}
4444
],
45-
"primaryKey": "orderkey"
45+
"primaryKey": ["orderkey"]
4646
},
4747
{
4848
"name": "Customer",
@@ -74,7 +74,7 @@
7474
"relationship": "CustomerNation"
7575
}
7676
],
77-
"primaryKey": "custkey"
77+
"primaryKey": ["custkey"]
7878
},
7979
{
8080
"name": "Lineitem",
@@ -126,7 +126,7 @@
126126
"expression": "concat(l_orderkey, l_linenumber)"
127127
}
128128
],
129-
"primaryKey": "orderkey_linenumber"
129+
"primaryKey": ["orderkey_linenumber"]
130130
},
131131
{
132132
"name": "Part",
@@ -143,7 +143,7 @@
143143
"type": "varchar"
144144
}
145145
],
146-
"primaryKey": "partkey"
146+
"primaryKey": ["partkey"]
147147
},
148148
{
149149
"name": "Nation",
@@ -185,7 +185,7 @@
185185
"relationship": "NationSupplier"
186186
}
187187
],
188-
"primaryKey": "nationkey"
188+
"primaryKey": ["nationkey"]
189189
},
190190
{
191191
"name": "Region",
@@ -212,7 +212,7 @@
212212
"relationship": "NationRegion"
213213
}
214214
],
215-
"primaryKey": "regionkey"
215+
"primaryKey": ["regionkey"]
216216
}
217217
],
218218
"relationships": [

0 commit comments

Comments
 (0)