Skip to content

Commit 403206f

Browse files
committed
Update examples
1 parent 33f63c0 commit 403206f

15 files changed

+183
-112
lines changed

src/main/java/examples/io/tiledb/java/api/DenseReadOrderedSubarray.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,18 @@ public static void main(String[] args) throws Exception {
3939
// Compute maximum buffer elements for the query results per attribute
4040
Array my_dense_array = new Array(ctx, "my_dense_array");
4141
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Long.class);
42-
HashMap<String, Pair<Long, Long>> max_sizes = my_dense_array.maxBufferElements(subarray);
4342

4443
// Create query
4544
Query query = new Query(my_dense_array, TILEDB_READ);
4645
query.setLayout(TILEDB_ROW_MAJOR);
4746
query.setSubarray(subarray);
48-
query.setBuffer(
49-
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
47+
int bufferSize = 1024;
48+
query.setBuffer("a1", new NativeArray(ctx, bufferSize, Integer.class));
5049
query.setBuffer(
5150
"a2",
52-
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
53-
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
54-
query.setBuffer(
55-
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
51+
new NativeArray(ctx, bufferSize, Datatype.TILEDB_UINT64),
52+
new NativeArray(ctx, bufferSize, String.class));
53+
query.setBuffer("a3", new NativeArray(ctx, bufferSize, Float.class));
5654

5755
// Submit query
5856
System.out.println("Query submitted: " + query.submit());

src/main/java/examples/io/tiledb/java/api/DenseWriteUnordered.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,26 @@ public static void main(String[] args) throws Exception {
3737

3838
// Prepare cell buffers
3939
NativeArray a1_data = new NativeArray(ctx, new int[] {211, 213, 212, 208}, Integer.class);
40-
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 4, 6, 7}, Long.class);
40+
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 4, 6, 7}, Datatype.TILEDB_UINT64);
4141
NativeArray buffer_var_a2 = new NativeArray(ctx, "wwwwyyxu", String.class);
4242
NativeArray buffer_a3 =
4343
new NativeArray(
4444
ctx,
4545
new float[] {211.1f, 211.2f, 213.1f, 213.2f, 212.1f, 212.2f, 208.1f, 208.2f},
4646
Float.class);
47-
NativeArray coords = new NativeArray(ctx, new long[] {4, 2, 3, 4, 3, 3, 3, 1}, Long.class);
47+
48+
NativeArray d1 = new NativeArray(ctx, new long[] {4, 3, 3, 3}, Long.class);
49+
NativeArray d2 = new NativeArray(ctx, new long[] {2, 4, 3, 1}, Long.class);
4850

4951
// Create query
5052
Array my_dense_array = new Array(ctx, "my_dense_array", TILEDB_WRITE);
5153
Query query = new Query(my_dense_array);
5254
query.setLayout(TILEDB_UNORDERED);
53-
query.setSubarray(new NativeArray(ctx, new long[] {3, 4, 3, 4}, Long.class));
55+
query.setBuffer("d1", d1);
56+
query.setBuffer("d2", d2);
5457
query.setBuffer("a1", a1_data);
5558
query.setBuffer("a2", a2_offsets, buffer_var_a2);
5659
query.setBuffer("a3", buffer_a3);
57-
query.setCoordinates(coords);
5860

5961
// Submit query
6062
query.submit();

src/main/java/examples/io/tiledb/java/api/SparseCreate.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,19 @@ public static void main(String[] args) throws Exception {
4141
Context ctx = new Context();
4242
// Create getDimensions
4343
Dimension<Long> d1 =
44-
new Dimension<Long>(ctx, "d1", Long.class, new Pair<Long, Long>(1l, 4l), 2l);
44+
new Dimension<Long>(ctx, "d1", Datatype.TILEDB_INT64, new Pair(1l, 4l), 2l);
4545
Dimension<Long> d2 =
46-
new Dimension<Long>(ctx, "d2", Long.class, new Pair<Long, Long>(1l, 4l), 2l);
46+
new Dimension<Long>(ctx, "d2", Datatype.TILEDB_INT64, new Pair(1l, 4l), 2l);
4747
// Create getDomain
4848
Domain domain = new Domain(ctx);
4949
domain.addDimension(d1);
5050
domain.addDimension(d2);
5151

5252
// Create and add getAttributes
53-
Attribute a1 = new Attribute(ctx, "a1", Integer.class);
54-
Attribute a2 = new Attribute(ctx, "a2", String.class);
53+
Attribute a1 = new Attribute(ctx, "a1", Datatype.TILEDB_INT32);
54+
Attribute a2 = new Attribute(ctx, "a2", Datatype.TILEDB_CHAR);
5555
a2.setCellValNum(TILEDB_VAR_NUM);
56-
Attribute a3 = new Attribute(ctx, "a3", Float.class);
56+
Attribute a3 = new Attribute(ctx, "a3", Datatype.TILEDB_FLOAT32);
5757
a3.setCellValNum(2);
5858
a1.setFilterList(new FilterList(ctx).addFilter(new LZ4Filter(ctx)));
5959
a2.setFilterList(new FilterList(ctx).addFilter(new GzipFilter(ctx)));

src/main/java/examples/io/tiledb/java/api/SparseReadGlobal.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
package examples.io.tiledb.java.api;
3737

38-
import static io.tiledb.java.api.Constants.TILEDB_COORDS;
3938
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
4039
import static io.tiledb.java.api.QueryType.TILEDB_READ;
4140

@@ -73,12 +72,16 @@ public static void main(String[] args) throws Exception {
7372
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
7473
query.setBuffer(
7574
"a2",
76-
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
75+
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Datatype.TILEDB_UINT64),
7776
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
7877
query.setBuffer(
7978
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
80-
query.setCoordinates(
81-
new NativeArray(ctx, max_sizes.get(TILEDB_COORDS).getSecond().intValue(), Long.class));
79+
80+
query.setBuffer(
81+
"d1", new NativeArray(ctx, max_sizes.get("d1").getSecond().intValue(), Long.class));
82+
83+
query.setBuffer(
84+
"d2", new NativeArray(ctx, max_sizes.get("d2").getSecond().intValue(), Long.class));
8285

8386
// Submit query
8487
System.out.println("Query submitted: " + query.submit());
@@ -89,11 +92,13 @@ public static void main(String[] args) throws Exception {
8992
long[] a2_offsets = (long[]) query.getVarBuffer("a2");
9093
byte[] a2_data = (byte[]) query.getBuffer("a2");
9194
float[] a3_buff = (float[]) query.getBuffer("a3");
92-
long[] coords = (long[]) query.getBuffer(TILEDB_COORDS);
95+
long[] d1_buff = (long[]) query.getBuffer("d1");
96+
long[] d2_buff = (long[]) query.getBuffer("d2");
9397

9498
System.out.println("Result num: " + a1_buff.length);
9599
System.out.println(
96-
String.format("%8s", TILEDB_COORDS)
100+
"d1"
101+
+ String.format("%9s", "d2")
97102
+ String.format("%9s", "a1")
98103
+ String.format("%11s", "a2")
99104
+ String.format("%11s", "a3[0]")
@@ -102,7 +107,7 @@ public static void main(String[] args) throws Exception {
102107
for (int i = 0; i < a1_buff.length; i++) {
103108
int end = (i == a1_buff.length - 1) ? a2_data.length : (int) a2_offsets[i + 1];
104109
System.out.println(
105-
String.format("%8s", "(" + coords[2 * i] + ", " + coords[2 * i + 1] + ")")
110+
String.format("%8s", "(" + d1_buff[2 * i] + ", " + d2_buff[2 * i] + ")")
106111
+ String.format("%9s", a1_buff[i])
107112
+ String.format(
108113
"%11s", new String(Arrays.copyOfRange(a2_data, (int) a2_offsets[i], end)))

src/main/java/examples/io/tiledb/java/api/SparseReadOrderedSubarray.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,22 @@ public static void main(String[] args) throws Exception {
5151

5252
// Calculate maximum buffer elements for the query results per attribute
5353
Array my_sparse_array = new Array(ctx, "my_sparse_array");
54-
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Long.class);
55-
HashMap<String, Pair<Long, Long>> max_sizes = my_sparse_array.maxBufferElements(subarray);
54+
NativeArray subarray = new NativeArray(ctx, new long[] {3l, 4l, 2l, 4l}, Datatype.TILEDB_INT64);
55+
56+
long bufferSize = 1024;
5657

5758
// Create query
5859
Query query = new Query(my_sparse_array, TILEDB_READ);
5960
query.setLayout(TILEDB_ROW_MAJOR);
6061
query.setSubarray(subarray);
61-
query.setBuffer(
62-
"a1", new NativeArray(ctx, max_sizes.get("a1").getSecond().intValue(), Integer.class));
62+
query.setBuffer("d1", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64));
63+
query.setBuffer("d2", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64));
64+
query.setBuffer("a1", new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT32));
6365
query.setBuffer(
6466
"a2",
65-
new NativeArray(ctx, max_sizes.get("a2").getFirst().intValue(), Long.class),
66-
new NativeArray(ctx, max_sizes.get("a2").getSecond().intValue(), String.class));
67-
query.setBuffer(
68-
"a3", new NativeArray(ctx, max_sizes.get("a3").getSecond().intValue(), Float.class));
69-
query.setCoordinates(
70-
new NativeArray(ctx, max_sizes.get(TILEDB_COORDS).getSecond().intValue(), Long.class));
67+
new NativeArray(ctx, bufferSize, Datatype.TILEDB_INT64),
68+
new NativeArray(ctx, bufferSize, Datatype.TILEDB_CHAR));
69+
query.setBuffer("a3", new NativeArray(ctx, bufferSize, Datatype.TILEDB_FLOAT32));
7170

7271
// Submit query
7372
System.out.println("Query submitted: " + query.submit());

src/main/java/examples/io/tiledb/java/api/SparseWriteGlobal1.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,20 @@
3838
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
3939
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;
4040

41-
import io.tiledb.java.api.Array;
42-
import io.tiledb.java.api.Context;
43-
import io.tiledb.java.api.NativeArray;
44-
import io.tiledb.java.api.Query;
41+
import io.tiledb.java.api.*;
4542

4643
public class SparseWriteGlobal1 {
4744
public static void main(String[] args) throws Exception {
4845
// Create TileDB context
4946
Context ctx = ctx = new Context();
5047

5148
// Prepare cell buffers
52-
NativeArray a1_data = new NativeArray(ctx, new int[] {0, 1, 2, 3, 4, 5, 6, 7}, Integer.class);
49+
NativeArray a1_data =
50+
new NativeArray(ctx, new int[] {0, 1, 2, 3, 4, 5, 6, 7}, Datatype.TILEDB_INT32);
5351
NativeArray a2_offsets =
54-
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Long.class);
55-
NativeArray buffer_var_a2 = new NativeArray(ctx, "abbcccdddd" + "effggghhhh", String.class);
52+
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Datatype.TILEDB_UINT64);
53+
NativeArray buffer_var_a2 =
54+
new NativeArray(ctx, "abbcccdddd" + "effggghhhh", Datatype.TILEDB_CHAR);
5655

5756
NativeArray buffer_a3 =
5857
new NativeArray(
@@ -63,18 +62,21 @@ public static void main(String[] args) throws Exception {
6362
},
6463
Float.class);
6564

66-
NativeArray coords_buff =
67-
new NativeArray(
68-
ctx, new long[] {1, 1, 1, 2, 1, 4, 2, 3, 3, 1, 4, 2, 3, 3, 3, 4}, Long.class);
65+
NativeArray d1_buff =
66+
new NativeArray(ctx, new long[] {1, 1, 1, 2, 3, 4, 3, 3}, Datatype.TILEDB_INT64);
67+
68+
NativeArray d2_buff =
69+
new NativeArray(ctx, new long[] {1, 2, 4, 3, 1, 2, 3, 4}, Datatype.TILEDB_INT64);
6970

7071
// Create query
7172
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
7273
Query query = new Query(my_sparse_array);
7374
query.setLayout(TILEDB_GLOBAL_ORDER);
75+
query.setBuffer("d1", d1_buff);
76+
query.setBuffer("d2", d2_buff);
7477
query.setBuffer("a1", a1_data);
7578
query.setBuffer("a2", a2_offsets, buffer_var_a2);
7679
query.setBuffer("a3", buffer_a3);
77-
query.setCoordinates(coords_buff);
7880

7981
// Submit query
8082
query.submit();

src/main/java/examples/io/tiledb/java/api/SparseWriteGlobal2.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@
3838
import static io.tiledb.java.api.Layout.TILEDB_GLOBAL_ORDER;
3939
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;
4040

41-
import io.tiledb.java.api.Array;
42-
import io.tiledb.java.api.Context;
43-
import io.tiledb.java.api.NativeArray;
44-
import io.tiledb.java.api.Query;
41+
import io.tiledb.java.api.*;
4542

4643
public class SparseWriteGlobal2 {
4744
public static void main(String[] args) throws Exception {
@@ -52,7 +49,7 @@ public static void main(String[] args) throws Exception {
5249
// Prepare cell buffers - #1
5350
NativeArray a1_data = new NativeArray(ctx, new int[] {0, 1, 2}, Integer.class);
5451
NativeArray a2_offsets =
55-
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Long.class);
52+
new NativeArray(ctx, new long[] {0, 1, 3, 6, 10, 11, 13, 16}, Datatype.TILEDB_UINT64);
5653
NativeArray buffer_var_a2 = new NativeArray(ctx, "abbcccddddeffggghhhh", String.class);
5754

5855
NativeArray buffer_a3 =
@@ -64,35 +61,39 @@ public static void main(String[] args) throws Exception {
6461
},
6562
Float.class);
6663

67-
NativeArray coords_buff = new NativeArray(ctx, new long[] {1, 1, 1, 2}, Long.class);
64+
NativeArray d1_buff = new NativeArray(ctx, new long[] {1, 1}, Long.class);
65+
NativeArray d2_buff = new NativeArray(ctx, new long[] {1, 2}, Long.class);
6866

6967
// Create query
7068
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
7169
Query query = new Query(my_sparse_array);
7270
query.setLayout(TILEDB_GLOBAL_ORDER);
71+
query.setBuffer("d1", d1_buff);
72+
query.setBuffer("d2", d2_buff);
7373
query.setBuffer("a1", a1_data);
7474
query.setBuffer("a2", a2_offsets, buffer_var_a2);
7575
query.setBuffer("a3", buffer_a3);
76-
query.setCoordinates(coords_buff);
7776

7877
// Submit query
7978
query.submit();
8079

8180
// Prepare cell buffers - #2
8281

8382
a1_data = new NativeArray(ctx, new int[] {3, 4, 5, 6, 7}, Integer.class);
84-
a2_offsets = new NativeArray(ctx, new long[] {}, Long.class);
83+
a2_offsets = new NativeArray(ctx, new long[] {}, Datatype.TILEDB_UINT64);
8584
buffer_var_a2 = new NativeArray(ctx, "", String.class);
8685

8786
buffer_a3 = new NativeArray(ctx, new float[] {}, Float.class);
88-
coords_buff = new NativeArray(ctx, new long[] {1, 4, 2, 3, 3, 1, 4, 2, 3, 3, 3, 4}, Long.class);
87+
d1_buff = new NativeArray(ctx, new long[] {1, 2, 3, 4, 3, 3}, Long.class);
88+
d2_buff = new NativeArray(ctx, new long[] {4, 3, 1, 2, 3, 4}, Long.class);
8989

9090
// Reset buffers
9191
query.resetBuffers();
92+
query.setBuffer("d1", d1_buff);
93+
query.setBuffer("d2", d2_buff);
9294
query.setBuffer("a1", a1_data);
9395
query.setBuffer("a2", a2_offsets, buffer_var_a2);
9496
query.setBuffer("a3", buffer_a3);
95-
query.setCoordinates(coords_buff);
9697

9798
// Submit query - #2
9899
query.submit();

src/main/java/examples/io/tiledb/java/api/SparseWriteUnordered1.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,21 @@
3636
import static io.tiledb.java.api.Layout.TILEDB_UNORDERED;
3737
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;
3838

39-
import io.tiledb.java.api.Array;
40-
import io.tiledb.java.api.Context;
41-
import io.tiledb.java.api.NativeArray;
42-
import io.tiledb.java.api.Query;
39+
import io.tiledb.java.api.*;
4340

4441
public class SparseWriteUnordered1 {
4542
public static void main(String[] args) throws Exception {
4643
// Create TileDB context
4744
Context ctx = ctx = new Context();
4845

4946
// Prepare cell buffers
50-
NativeArray a1_data = new NativeArray(ctx, new int[] {7, 5, 0, 6, 4, 3, 1, 2}, Integer.class);
47+
NativeArray a1_data =
48+
new NativeArray(ctx, new int[] {7, 5, 0, 6, 4, 3, 1, 2}, Datatype.TILEDB_INT32);
5149
NativeArray a2_offsets =
52-
new NativeArray(ctx, new long[] {0, 4, 6, 7, 10, 11, 15, 17}, Long.class);
50+
new NativeArray(ctx, new long[] {0, 4, 6, 7, 10, 11, 15, 17}, Datatype.TILEDB_UINT64);
5351
NativeArray buffer_var_a2 =
5452
new NativeArray(
55-
ctx, "hhhh" + "ff" + "a" + "ggg" + "e" + "dddd" + "bb" + "ccc", String.class);
53+
ctx, "hhhh" + "ff" + "a" + "ggg" + "e" + "dddd" + "bb" + "ccc", Datatype.TILEDB_CHAR);
5654

5755
NativeArray buffer_a3 =
5856
new NativeArray(
@@ -63,18 +61,21 @@ public static void main(String[] args) throws Exception {
6361
},
6462
Float.class);
6563

66-
NativeArray coords_buff =
67-
new NativeArray(
68-
ctx, new long[] {3, 4, 4, 2, 1, 1, 3, 3, 3, 1, 2, 3, 1, 2, 1, 4}, Long.class);
64+
NativeArray d1_buff =
65+
new NativeArray(ctx, new long[] {3, 4, 1, 3, 3, 2, 1, 1}, Datatype.TILEDB_INT64);
66+
67+
NativeArray d2_buff =
68+
new NativeArray(ctx, new long[] {4, 2, 1, 3, 1, 3, 2, 4}, Datatype.TILEDB_INT64);
6969

7070
// Create query
7171
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
7272
Query query = new Query(my_sparse_array);
7373
query.setLayout(TILEDB_UNORDERED);
74+
query.setBuffer("d1", d1_buff);
75+
query.setBuffer("d2", d2_buff);
7476
query.setBuffer("a1", a1_data);
7577
query.setBuffer("a2", a2_offsets, buffer_var_a2);
7678
query.setBuffer("a3", buffer_a3);
77-
query.setCoordinates(coords_buff);
7879

7980
// Submit query
8081
query.submit();

src/main/java/examples/io/tiledb/java/api/SparseWriteUnordered1Again.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,37 +37,38 @@
3737
import static io.tiledb.java.api.Layout.TILEDB_UNORDERED;
3838
import static io.tiledb.java.api.QueryType.TILEDB_WRITE;
3939

40-
import io.tiledb.java.api.Array;
41-
import io.tiledb.java.api.Context;
42-
import io.tiledb.java.api.NativeArray;
43-
import io.tiledb.java.api.Query;
40+
import io.tiledb.java.api.*;
4441

4542
public class SparseWriteUnordered1Again {
4643
public static void main(String[] args) throws Exception {
4744
// Create TileDB context
4845
Context ctx = ctx = new Context();
4946

5047
// Prepare cell buffers
51-
NativeArray a1_data = new NativeArray(ctx, new int[] {107, 104, 106, 105}, Integer.class);
52-
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 3, 4, 5}, Long.class);
53-
NativeArray buffer_var_a2 = new NativeArray(ctx, "yyy" + "u" + "w" + "vvvv", String.class);
48+
NativeArray a1_data =
49+
new NativeArray(ctx, new int[] {107, 104, 106, 105}, Datatype.TILEDB_INT32);
50+
NativeArray a2_offsets = new NativeArray(ctx, new long[] {0, 3, 4, 5}, Datatype.TILEDB_UINT64);
51+
NativeArray buffer_var_a2 =
52+
new NativeArray(ctx, "yyy" + "u" + "w" + "vvvv", Datatype.TILEDB_CHAR);
5453

5554
NativeArray buffer_a3 =
5655
new NativeArray(
5756
ctx,
5857
new float[] {107.1f, 107.2f, 104.1f, 104.2f, 106.1f, 106.2f, 105.1f, 105.2f},
5958
Float.class);
6059

61-
NativeArray coords_buff = new NativeArray(ctx, new long[] {3, 4, 3, 2, 3, 3, 4, 1}, Long.class);
60+
NativeArray d1_buff = new NativeArray(ctx, new long[] {3, 3, 3, 4}, Datatype.TILEDB_INT64);
61+
NativeArray d2_buff = new NativeArray(ctx, new long[] {4, 2, 3, 1}, Datatype.TILEDB_INT64);
6262

6363
// Create query
6464
Array my_sparse_array = new Array(ctx, "my_sparse_array", TILEDB_WRITE);
6565
Query query = new Query(my_sparse_array);
6666
query.setLayout(TILEDB_UNORDERED);
67+
query.setBuffer("d1", d1_buff);
68+
query.setBuffer("d2", d2_buff);
6769
query.setBuffer("a1", a1_data);
6870
query.setBuffer("a2", a2_offsets, buffer_var_a2);
6971
query.setBuffer("a3", buffer_a3);
70-
query.setCoordinates(coords_buff);
7172

7273
// Submit query
7374
query.submit();

0 commit comments

Comments
 (0)