You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by bc...@apache.org on 2023/06/23 23:05:40 UTC
[incubator-baremaps] branch calcite updated (79541b80 -> 725bebe2)
This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a change to branch calcite
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
omit 79541b80 Add column type and reorganize packages
new 725bebe2 Add column type and reorganize packages
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (79541b80)
\
N -- N -- N refs/heads/calcite (725bebe2)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../database/{sql => calcite}/Calcite.java | 6 +-
.../baremaps/database/calcite/CalciteTable.java | 109 +++++++++++++++++++++
.../org/apache/baremaps/database/sql/SqlTable.java | 94 ------------------
.../apache/baremaps/database/type/RowDataType.java | 42 ++++----
.../flatgeobuf/internal/TableConversions.java | 26 ++---
5 files changed, 147 insertions(+), 130 deletions(-)
rename baremaps-core/src/main/java/org/apache/baremaps/database/{sql => calcite}/Calcite.java (96%)
create mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/calcite/CalciteTable.java
delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/sql/SqlTable.java
[incubator-baremaps] 01/01: Add column type and reorganize packages
Posted by bc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a commit to branch calcite
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit 725bebe254131dfcd0c996bfc05ab0cf99bd0c8d
Author: Bertil Chapuis <bc...@gmail.com>
AuthorDate: Fri Jun 23 23:19:17 2023 +0200
Add column type and reorganize packages
---
.../baremaps/benchmarks/DataMapBenchmark.java | 8 +-
.../baremaps/benchmarks/MemoryBenchmark.java | 12 +--
.../OpenStreetMapGeometriesBenchmark.java | 14 +--
.../baremaps/collection/store/DataColumn.java | 34 -------
.../baremaps/collection/store/DataColumnType.java | 55 -----------
.../collection/type/geometry/WKBDataType.java | 54 ----------
.../algorithm/BinarySearch.java | 4 +-
.../algorithm/ExternalMergeSort.java | 4 +-
.../algorithm/Hilbert.java | 2 +-
.../algorithm/UnionStream.java | 2 +-
.../baremaps/{ => database}/calcite/Calcite.java | 98 +++---------------
.../baremaps/database/calcite/CalciteTable.java | 109 +++++++++++++++++++++
.../collection/AbstractDataCollection.java | 2 +-
.../collection/AppendOnlyBuffer.java | 8 +-
.../{ => database}/collection/DataCollection.java | 2 +-
.../collection/DataCollectionAdapter.java | 2 +-
.../collection/DataCollectionException.java | 2 +-
.../{ => database}/collection/DataList.java | 2 +-
.../{ => database}/collection/DataMap.java | 2 +-
.../collection/FixedSizeDataList.java | 8 +-
.../{ => database}/collection/IndexedDataList.java | 4 +-
.../{ => database}/collection/IndexedDataMap.java | 2 +-
.../{ => database}/collection/LongDataMap.java | 8 +-
.../collection/MemoryAlignedDataList.java | 8 +-
.../collection/MemoryAlignedDataMap.java | 6 +-
.../collection/MonotonicDataMap.java | 8 +-
.../collection/MonotonicFixedSizeDataMap.java | 4 +-
.../collection/MonotonicPairedDataMap.java | 6 +-
.../{collection => database}/memory/Memory.java | 2 +-
.../memory/MemoryException.java | 2 +-
.../memory/MemoryMappedDirectory.java | 2 +-
.../memory/MemoryMappedFile.java | 2 +-
.../memory/OffHeapMemory.java | 2 +-
.../memory/OnHeapMemory.java | 2 +-
.../table}/AbstractDataTable.java | 4 +-
.../apache/baremaps/database/table/DataColumn.java | 96 ++++++++++++++++++
.../store => database/table}/DataColumnImpl.java | 4 +-
.../store => database/table}/DataRow.java | 2 +-
.../store => database/table}/DataRowImpl.java | 2 +-
.../store => database/table}/DataSchema.java | 2 +-
.../store => database/table}/DataSchemaImpl.java | 2 +-
.../store => database/table}/DataStore.java | 2 +-
.../store => database/table}/DataTable.java | 4 +-
.../store => database/table}/DataTableAdapter.java | 4 +-
.../table}/DataTableException.java | 2 +-
.../table}/DataTableGeometryTransformer.java | 4 +-
.../store => database/table}/DataTableImpl.java | 17 ++--
.../type/BooleanArrayDataType.java | 2 +-
.../type/BooleanDataType.java | 2 +-
.../type/BooleanListDataType.java | 2 +-
.../type/ByteArrayDataType.java | 2 +-
.../type/ByteDataType.java | 2 +-
.../type/ByteListDataType.java | 2 +-
.../{collection => database}/type/DataType.java | 2 +-
.../type/DoubleArrayDataType.java | 2 +-
.../type/DoubleDataType.java | 2 +-
.../type/DoubleListDataType.java | 2 +-
.../type/FixedSizeDataType.java | 2 +-
.../type/FloatArrayDataType.java | 2 +-
.../type/FloatDataType.java | 2 +-
.../type/FloatListDataType.java | 2 +-
.../type/IntegerArrayDataType.java | 2 +-
.../type/IntegerDataType.java | 2 +-
.../type/IntegerListDataType.java | 2 +-
.../type/ListDataType.java | 2 +-
.../type/LonLatDataType.java | 2 +-
.../type/LongArrayDataType.java | 2 +-
.../type/LongDataType.java | 2 +-
.../type/LongListDataType.java | 2 +-
.../{collection => database}/type/MapDataType.java | 2 +-
.../type/MemoryAlignedDataType.java | 2 +-
.../type/NullableDataType.java | 2 +-
.../type/PairDataType.java | 4 +-
.../{collection => database}/type/RowDataType.java | 54 +++++-----
.../type/ShortArrayDataType.java | 2 +-
.../type/ShortDataType.java | 2 +-
.../type/ShortListDataType.java | 2 +-
.../type/SmallIntegerDataType.java | 2 +-
.../type/SmallLongDataType.java | 2 +-
.../type/StringDataType.java | 2 +-
.../type/geometry/CoordinateArrayDataType.java | 4 +-
.../type/geometry/CoordinateDataType.java | 6 +-
.../type/geometry/GeometryCollectionDataType.java | 4 +-
.../type/geometry/GeometryDataType.java | 4 +-
.../type/geometry/LineStringDataType.java | 4 +-
.../type/geometry/LonLatDataType.java | 6 +-
.../type/geometry/MultiLineStringDataType.java | 4 +-
.../type/geometry/MultiPointDataType.java | 4 +-
.../type/geometry/MultiPolygonDataType.java | 4 +-
.../type/geometry/PointDataType.java | 4 +-
.../type/geometry/PolygonDataType.java | 4 +-
.../type/geometry}/WKBDataType.java | 3 +-
.../apache/baremaps/openstreetmap/DiffService.java | 2 +-
.../function/CoordinateMapBuilder.java | 2 +-
.../function/EntityGeometryBuilder.java | 2 +-
.../openstreetmap/function/GeometryMapBuilder.java | 2 +-
.../function/ReferenceMapBuilder.java | 2 +-
.../function/RelationGeometryBuilder.java | 2 +-
.../openstreetmap/function/WayGeometryBuilder.java | 2 +-
.../baremaps/openstreetmap/pbf/PbfBlockReader.java | 2 +-
.../openstreetmap/pbf/PbfEntityReader.java | 2 +-
.../baremaps/openstreetmap/pbf/PbfReader.java | 2 +-
.../postgres/PostgresCoordinateMap.java | 4 +-
.../openstreetmap/postgres/PostgresIterator.java | 2 +-
.../postgres/PostgresReferenceMap.java | 4 +-
.../storage/flatgeobuf/FlatGeoBufDataStore.java | 6 +-
.../storage/flatgeobuf/FlatGeoBufDataTable.java | 8 +-
.../flatgeobuf/internal/TableConversions.java | 33 ++++---
.../storage/geopackage/GeoPackageDataStore.java | 6 +-
.../storage/geopackage/GeoPackageDataTable.java | 11 ++-
.../storage/postgres/PostgresDataStore.java | 95 +++++++-----------
.../storage/postgres/PostgresDataTable.java | 12 +--
.../storage/shapefile/ShapefileDataStore.java | 6 +-
.../storage/shapefile/ShapefileDataTable.java | 8 +-
.../shapefile/internal/DbaseByteReader.java | 2 +-
.../shapefile/internal/ShapefileByteReader.java | 36 +++----
.../shapefile/internal/ShapefileInputStream.java | 4 +-
.../shapefile/internal/ShapefileReader.java | 2 +-
.../vectortile/expression/Expressions.java | 2 +-
.../baremaps/workflow/tasks/ImportGeoPackage.java | 4 +-
.../workflow/tasks/ImportOpenStreetMap.java | 12 +--
.../baremaps/workflow/tasks/ImportShapefile.java | 4 +-
.../workflow/tasks/UpdateOpenStreetMap.java | 2 +-
.../AppendOnlyBufferTest.java | 13 +--
.../{collection => database}/DataListTest.java | 5 +-
.../{collection => database}/DataMapTest.java | 9 +-
.../SizedDataListTest.java | 12 ++-
.../algorithm/UnionStreamTest.java | 2 +-
.../memory/MemoryProvider.java | 2 +-
.../memory/MemoryTest.java | 8 +-
.../sort/BinarySearchTest.java | 8 +-
.../sort/ExternalMergeSortTest.java | 18 ++--
.../type/DataTypeProvider.java | 45 ++++-----
.../type/DataTypeTest.java | 4 +-
.../type/LonLatDataTypeTest.java | 2 +-
.../EntityDataTypeGeometryBuilderTest.java | 2 +-
.../geometry/RelationGeometryBuilderTest.java | 2 +-
.../baremaps/openstreetmap/store/MockDataMap.java | 2 +-
.../org/apache/baremaps/storage/MockDataTable.java | 14 +--
.../storage/postgres/PostgresDataStoreTest.java | 2 +-
.../storage/postgres/PostgresDataTableTest.java | 2 +-
.../baremaps/vectortile/ExpressionsTest.java | 4 +-
.../baremaps/workflow/tasks/ImportMonacoTest.java | 12 +--
.../workflow/tasks/ImportUpdateDataTest.java | 12 +--
.../tasks/ImportUpdateLiechtensteinTest.java | 12 +--
.../baremaps/ogcapi/CollectionsResource.java | 2 +-
146 files changed, 624 insertions(+), 651 deletions(-)
diff --git a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/DataMapBenchmark.java b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/DataMapBenchmark.java
index 1cbcbe02..0b66522d 100644
--- a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/DataMapBenchmark.java
+++ b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/DataMapBenchmark.java
@@ -15,10 +15,10 @@ package org.apache.baremaps.benchmarks;
import java.util.concurrent.TimeUnit;
-import org.apache.baremaps.collection.*;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.PairDataType;
+import org.apache.baremaps.database.collection.*;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.PairDataType;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
diff --git a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/MemoryBenchmark.java b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/MemoryBenchmark.java
index 85bb831c..916b2c5f 100644
--- a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/MemoryBenchmark.java
+++ b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/MemoryBenchmark.java
@@ -19,12 +19,12 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
-import org.apache.baremaps.collection.DataMap;
-import org.apache.baremaps.collection.MemoryAlignedDataMap;
-import org.apache.baremaps.collection.memory.MemoryMappedFile;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.collection.DataMap;
+import org.apache.baremaps.database.collection.MemoryAlignedDataMap;
+import org.apache.baremaps.database.memory.MemoryMappedFile;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
diff --git a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/OpenStreetMapGeometriesBenchmark.java b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/OpenStreetMapGeometriesBenchmark.java
index b079a1e5..d517f463 100644
--- a/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/OpenStreetMapGeometriesBenchmark.java
+++ b/baremaps-benchmark/src/main/java/org/apache/baremaps/benchmarks/OpenStreetMapGeometriesBenchmark.java
@@ -25,13 +25,13 @@ import java.nio.file.StandardCopyOption;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataMap;
-import org.apache.baremaps.collection.IndexedDataMap;
-import org.apache.baremaps.collection.memory.MemoryMappedFile;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongListDataType;
-import org.apache.baremaps.collection.type.geometry.CoordinateDataType;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.DataMap;
+import org.apache.baremaps.database.collection.IndexedDataMap;
+import org.apache.baremaps.database.memory.MemoryMappedFile;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongListDataType;
+import org.apache.baremaps.database.type.geometry.CoordinateDataType;
import org.apache.baremaps.openstreetmap.model.Node;
import org.apache.baremaps.openstreetmap.model.Relation;
import org.apache.baremaps.openstreetmap.model.Way;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumn.java b/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumn.java
deleted file mode 100644
index bfcaf586..00000000
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumn.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.baremaps.collection.store;
-
-/**
- * A column in a table.
- */
-public interface DataColumn {
-
- /**
- * Returns the name of the column.
- *
- * @return the name of the column
- */
- String name();
-
- /**
- * Returns the type of the column.
- *
- * @return the type of the column
- */
- <T> Class<T> type();
-
-}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnType.java b/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnType.java
deleted file mode 100644
index 92d05ece..00000000
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnType.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.baremaps.collection.store;
-
-import org.locationtech.jts.geom.*;
-
-public enum DataColumnType {
- BOOLEAN(Boolean.class),
- BYTE(Byte.class),
- SHORT(Short.class),
- INTEGER(Integer.class),
- LONG(Long.class),
- FLOAT(Float.class),
- DOUBLE(Double.class),
- STRING(String.class),
- BYTES(byte[].class),
- GEOMETRY(Geometry.class),
- POINT(Point.class),
- LINESTRING(LineString.class),
- POLYGON(Polygon.class),
- MULTIPOINT(MultiPoint.class),
- MULTILINESTRING(MultiLineString.class),
- MULTIPOLYGON(MultiPolygon.class),
- GEOMETRYCOLLECTION(GeometryCollection.class);
-
- private Class<?> type;
-
- DataColumnType(Class<?> type) {
- this.type = type;
- }
-
- public Class<?> getType() {
- return type;
- }
-
- public DataColumnType valueOf(Class<?> type) {
- for (DataColumnType columnType : DataColumnType.values()) {
- if (columnType.getType().equals(type)) {
- return columnType;
- }
- }
- throw new IllegalArgumentException("Unsupported type " + type);
- }
-
-}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/WKBDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/WKBDataType.java
deleted file mode 100644
index 2965ee3a..00000000
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/WKBDataType.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.baremaps.collection.type.geometry;
-
-
-
-import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
-import org.apache.baremaps.utils.GeometryUtils;
-import org.locationtech.jts.geom.Geometry;
-
-/** A {@link DataType} for reading and writing {@link Geometry} in {@link ByteBuffer}s. */
-public class WKBDataType implements DataType<Geometry> {
-
- /** {@inheritDoc} */
- @Override
- public int size(final Geometry value) {
- byte[] bytes = GeometryUtils.serialize(value);
- return Integer.BYTES + bytes.length;
- }
-
- /** {@inheritDoc} */
- @Override
- public int size(final ByteBuffer buffer, final int position) {
- return buffer.getInt(position);
- }
-
- /** {@inheritDoc} */
- @Override
- public void write(final ByteBuffer buffer, final int position, final Geometry value) {
- byte[] bytes = GeometryUtils.serialize(value);
- buffer.putInt(position, Integer.BYTES + bytes.length);
- buffer.put(position + Integer.BYTES, bytes);
- }
-
- /** {@inheritDoc} */
- @Override
- public Geometry read(final ByteBuffer buffer, final int position) {
- int size = buffer.getInt(position);
- byte[] bytes = new byte[Math.max(size - Integer.BYTES, 0)];
- buffer.get(position + Integer.BYTES, bytes);
- return GeometryUtils.deserialize(bytes);
- }
-}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/BinarySearch.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/BinarySearch.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java
index 4d973a97..e3193387 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/BinarySearch.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection.algorithm;
+package org.apache.baremaps.database.algorithm;
import java.util.Comparator;
import java.util.function.Function;
-import org.apache.baremaps.collection.DataList;
+import org.apache.baremaps.database.collection.DataList;
/**
* A binary search algorithm.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/ExternalMergeSort.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/ExternalMergeSort.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java
index 4a86efb9..36973d01 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/ExternalMergeSort.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.algorithm;
+package org.apache.baremaps.database.algorithm;
@@ -18,7 +18,7 @@ import java.io.IOException;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.DataList;
+import org.apache.baremaps.database.collection.DataList;
/**
* An external merge sort algorithm adapted from
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/Hilbert.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/Hilbert.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java
index 9cad23f7..f8efebab 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/Hilbert.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.algorithm;
+package org.apache.baremaps.database.algorithm;
import java.util.Comparator;
import org.locationtech.jts.geom.Envelope;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/UnionStream.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/UnionStream.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java
index 61f93f70..54985cf2 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/algorithm/UnionStream.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.algorithm;
+package org.apache.baremaps.database.algorithm;
import java.util.*;
import java.util.stream.IntStream;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/calcite/Calcite.java b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/Calcite.java
similarity index 50%
rename from baremaps-core/src/main/java/org/apache/baremaps/calcite/Calcite.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/calcite/Calcite.java
index 71049d2e..2a99237a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/calcite/Calcite.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/Calcite.java
@@ -10,36 +10,26 @@
* the License.
*/
-package org.apache.baremaps.calcite;
+package org.apache.baremaps.database.calcite;
import com.google.common.collect.ImmutableList;
import java.sql.*;
-import java.util.Collection;
import java.util.List;
import java.util.Properties;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataCollectionAdapter;
-import org.apache.baremaps.collection.IndexedDataList;
-import org.apache.baremaps.collection.store.*;
-import org.apache.baremaps.collection.type.RowDataType;
-import org.apache.calcite.DataContext;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.IndexedDataList;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
+import org.apache.baremaps.database.type.RowDataType;
import org.apache.calcite.jdbc.CalciteConnection;
-import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
-import org.apache.calcite.linq4j.Enumerable;
-import org.apache.calcite.linq4j.Linq4j;
import org.apache.calcite.model.ModelHandler;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rel.type.RelDataTypeFactory;
import org.apache.calcite.runtime.SpatialTypeFunctions;
import org.apache.calcite.runtime.SpatialTypeFunctions.Accum;
import org.apache.calcite.runtime.SpatialTypeFunctions.Collect;
import org.apache.calcite.runtime.SpatialTypeFunctions.Union;
-import org.apache.calcite.schema.ScannableTable;
import org.apache.calcite.schema.SchemaPlus;
-import org.apache.calcite.schema.impl.AbstractTable;
import org.apache.calcite.schema.impl.AggregateFunctionImpl;
import org.apache.calcite.sql.fun.SqlSpatialTypeFunctions;
-import org.apache.calcite.sql.type.SqlTypeName;
import org.locationtech.jts.geom.*;
public class Calcite {
@@ -47,9 +37,9 @@ public class Calcite {
private static final GeometryFactory GEOMETRY_FACTORY = new GeometryFactory();
private static final DataSchema CITY_SCHEMA = new DataSchemaImpl("country", List.of(
- new DataColumnImpl("id", Integer.class),
- new DataColumnImpl("name", String.class),
- new DataColumnImpl("geometry", Geometry.class)));
+ new DataColumnImpl("id", Type.INTEGER),
+ new DataColumnImpl("name", Type.STRING),
+ new DataColumnImpl("geometry", Type.GEOMETRY)));
private static final DataTable CITY_TABLE = new DataTableImpl(
CITY_SCHEMA,
@@ -63,8 +53,8 @@ public class Calcite {
}
private static final DataSchema POPULATION_SCHEMA = new DataSchemaImpl("population", List.of(
- new DataColumnImpl("country_id", Integer.class),
- new DataColumnImpl("population", Integer.class)));
+ new DataColumnImpl("country_id", Type.INTEGER),
+ new DataColumnImpl("population", Type.INTEGER)));
private static final DataTable POPULATION_TABLE = new DataTableImpl(
POPULATION_SCHEMA,
@@ -95,10 +85,10 @@ public class Calcite {
rootSchema.add("ST_ACCUM", AggregateFunctionImpl.create(Accum.class));
rootSchema.add("ST_COLLECT", AggregateFunctionImpl.create(Collect.class));
- ListTable cityTable = new ListTable(CITY_TABLE);
+ CalciteTable cityTable = new CalciteTable(CITY_TABLE);
rootSchema.add("country", cityTable);
- ListTable populationTable = new ListTable(POPULATION_TABLE);
+ CalciteTable populationTable = new CalciteTable(POPULATION_TABLE);
rootSchema.add("population", populationTable);
String sql = """
@@ -116,68 +106,6 @@ public class Calcite {
}
}
}
-
}
- /**
- * A simple table based on a list.
- */
- private static class ListTable extends AbstractTable implements ScannableTable {
-
- private final DataTable table;
-
- ListTable(DataTable table) {
- this.table = table;
- }
-
- @Override
- public Enumerable<Object[]> scan(final DataContext root) {
- Collection<Object[]> collection =
- new DataCollectionAdapter<>(table, row -> row.values().toArray());
- return Linq4j.asEnumerable(collection);
- }
-
- @Override
- public RelDataType getRowType(final RelDataTypeFactory typeFactory) {
- var rowType = new RelDataTypeFactory.Builder(typeFactory);
- for (DataColumn column : table.schema().columns()) {
- rowType.add(column.name(), toSqlType(column.type()));
- }
- return rowType.build();
- }
-
- private RelDataType toSqlType(Class type) {
- if (type.equals(String.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.VARCHAR);
- } else if (type.equals(Boolean.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.BOOLEAN);
- } else if (type.equals(Short.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.SMALLINT);
- } else if (type.equals(Integer.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.INTEGER);
- } else if (type.equals(Float.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.FLOAT);
- } else if (type.equals(Double.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.DOUBLE);
- } else if (type.equals(Geometry.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(Point.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(LineString.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(Polygon.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(MultiPoint.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(MultiLineString.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(MultiPolygon.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else if (type.equals(GeometryCollection.class)) {
- return new JavaTypeFactoryImpl().createSqlType(SqlTypeName.GEOMETRY);
- } else {
- throw new IllegalArgumentException("Unsupported type " + type);
- }
- }
- }
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/CalciteTable.java b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/CalciteTable.java
new file mode 100644
index 00000000..3313b7ed
--- /dev/null
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/CalciteTable.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.apache.baremaps.database.calcite;
+
+import java.util.Collection;
+import java.util.EnumMap;
+import org.apache.baremaps.database.collection.DataCollectionAdapter;
+import org.apache.baremaps.database.table.DataColumn;
+import org.apache.baremaps.database.table.DataColumn.Type;
+import org.apache.baremaps.database.table.DataTable;
+import org.apache.calcite.DataContext;
+import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
+import org.apache.calcite.linq4j.Enumerable;
+import org.apache.calcite.linq4j.Linq4j;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.schema.ScannableTable;
+import org.apache.calcite.schema.impl.AbstractTable;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.locationtech.jts.geom.*;
+
+/**
+ * A simple table based on a list.
+ */
+class CalciteTable extends AbstractTable implements ScannableTable {
+
+ private final DataTable table;
+
+ private static final EnumMap<Type, RelDataType> types = new EnumMap<>(Type.class);
+
+ static {
+ types.put(Type.BYTE, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.TINYINT));
+ types.put(Type.BYTE_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.TINYINT), -1));
+ types.put(Type.BOOLEAN, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.BOOLEAN));
+ types.put(Type.BOOLEAN_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.BOOLEAN), -1));
+ types.put(Type.SHORT, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.SMALLINT));
+ types.put(Type.SHORT_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.SMALLINT), -1));
+ types.put(Type.INTEGER, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.INTEGER));
+ types.put(Type.INTEGER_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.INTEGER), -1));
+ types.put(Type.LONG, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.BIGINT));
+ types.put(Type.LONG_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.BIGINT), -1));
+ types.put(Type.FLOAT, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.FLOAT));
+ types.put(Type.FLOAT_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.FLOAT), -1));
+ types.put(Type.DOUBLE, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.DOUBLE));
+ types.put(Type.DOUBLE_ARRAY, new JavaTypeFactoryImpl()
+ .createArrayType(new JavaTypeFactoryImpl().createSqlType(SqlTypeName.DOUBLE), -1));
+ types.put(Type.STRING, new JavaTypeFactoryImpl()
+ .createSqlType(SqlTypeName.VARCHAR));
+ types.put(Type.GEOMETRY, new JavaTypeFactoryImpl()
+ .createJavaType(Geometry.class));
+ types.put(Type.POINT, new JavaTypeFactoryImpl()
+ .createJavaType(Point.class));
+ types.put(Type.LINESTRING, new JavaTypeFactoryImpl()
+ .createJavaType(LineString.class));
+ types.put(Type.POLYGON, new JavaTypeFactoryImpl()
+ .createJavaType(Polygon.class));
+ types.put(Type.MULTIPOINT, new JavaTypeFactoryImpl()
+ .createJavaType(MultiPoint.class));
+ types.put(Type.MULTILINESTRING, new JavaTypeFactoryImpl()
+ .createJavaType(MultiLineString.class));
+ types.put(Type.MULTIPOLYGON, new JavaTypeFactoryImpl()
+ .createJavaType(MultiPolygon.class));
+ types.put(Type.GEOMETRYCOLLECTION, new JavaTypeFactoryImpl()
+ .createJavaType(GeometryCollection.class));
+ }
+
+ CalciteTable(DataTable table) {
+ this.table = table;
+ }
+
+ @Override
+ public Enumerable<Object[]> scan(final DataContext root) {
+ Collection<Object[]> collection =
+ new DataCollectionAdapter<>(table, row -> row.values().toArray());
+ return Linq4j.asEnumerable(collection);
+ }
+
+ @Override
+ public RelDataType getRowType(final RelDataTypeFactory typeFactory) {
+ var rowType = new RelDataTypeFactory.Builder(typeFactory);
+ for (DataColumn column : table.schema().columns()) {
+ rowType.add(column.name(), types.get(column.type()));
+ }
+ return rowType.build();
+ }
+}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/AbstractDataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/AbstractDataCollection.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java
index 0b0d41a4..8ca22c3e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/AbstractDataCollection.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/AppendOnlyBuffer.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/AppendOnlyBuffer.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java
index e46d9a95..8f324210 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/AppendOnlyBuffer.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
@@ -20,9 +20,9 @@ import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.DataType;
/**
* A buffer of elements backed by a {@link DataType} and a {@link Memory}. Elements are appended to
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java
similarity index 94%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollection.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java
index 772f8d01..5dd7bea7 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollection.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.util.Collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionAdapter.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java
index 9dac994d..a4546962 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionAdapter.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.util.Iterator;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionException.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java
index d19d4e2c..bb604b0b 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataCollectionException.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
/** Signals that an exception occurred in a store. */
public class DataCollectionException extends RuntimeException {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/DataList.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java
index 98c732fc..8a81858c 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataList.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/DataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java
index 3299923b..7720bc51 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/DataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/FixedSizeDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java
similarity index 93%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/FixedSizeDataList.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java
index 2925b947..0fc73ac1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/FixedSizeDataList.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java
@@ -10,16 +10,16 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.FixedSizeDataType;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.FixedSizeDataType;
/**
* A list that can hold a large number of fixed size data elements.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataList.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java
index 1fc9069c..198f8bff 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataList.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.type.LongDataType;
/**
* A list that can hold a large number of variable size data elements.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java
index 074c0411..394e569e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/IndexedDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/LongDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java
similarity index 80%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/LongDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java
index b3bfee4d..186d99fb 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/LongDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
/**
* A list of longs.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java
similarity index 94%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataList.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java
index 40a05a57..683d8563 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataList.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java
@@ -10,16 +10,16 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.FixedSizeDataType;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.FixedSizeDataType;
/**
* A list that can hold a large number of fixed-size memory-aligned data elements.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java
index c0724ed7..f21331d3 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/MemoryAlignedDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
@@ -18,8 +18,8 @@ import java.nio.ByteBuffer;
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.type.FixedSizeDataType;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.type.FixedSizeDataType;
/**
* A map that can hold a large number of fixed-size memory-aligned data elements.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java
index 5a6716ed..4d0e32e2 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java
@@ -10,15 +10,15 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.util.Iterator;
import java.util.Map;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.PairDataType;
-import org.apache.baremaps.collection.type.PairDataType.Pair;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.PairDataType;
+import org.apache.baremaps.database.type.PairDataType.Pair;
/**
* A map that can hold a large number of variable-size data elements. The elements must be sorted by
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicFixedSizeDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicFixedSizeDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java
index b673b648..59e7c5f6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicFixedSizeDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java
@@ -10,14 +10,14 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import com.google.common.collect.Streams;
import java.util.Iterator;
import java.util.Map;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.type.LongDataType;
/**
* A map that can hold a large number of fixed-size data elements. The elements must be sorted by
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicPairedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicPairedDataMap.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java
index 55f92b1b..60100f85 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/MonotonicPairedDataMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java
@@ -10,14 +10,14 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database.collection;
import java.util.Iterator;
import java.util.Map;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.PairDataType.Pair;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.PairDataType.Pair;
/**
* A map that can hold a large number of variable-size data elements. The elements must be sorted by
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/Memory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/Memory.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java
index 40f4e83f..52a86e28 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/Memory.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryException.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java
index 0dee9182..614d7c72 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryException.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
/** Signals that an exception occurred in a memory. */
public class MemoryException extends RuntimeException {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedDirectory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedDirectory.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java
index be02294f..88593038 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedDirectory.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedFile.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedFile.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java
index 1bb59f99..cdbfdd51 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/MemoryMappedFile.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OffHeapMemory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OffHeapMemory.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java
index 7ee75e9b..e9beaf7f 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OffHeapMemory.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OnHeapMemory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OnHeapMemory.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java
index 77d6c8de..539208fc 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/memory/OnHeapMemory.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/AbstractDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/AbstractDataTable.java
similarity index 86%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/AbstractDataTable.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/AbstractDataTable.java
index 7ff8702a..032caf33 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/AbstractDataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/AbstractDataTable.java
@@ -10,9 +10,9 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
-import org.apache.baremaps.collection.AbstractDataCollection;
+import org.apache.baremaps.database.collection.AbstractDataCollection;
/**
* A table is a collection of rows respecting a schema.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumn.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumn.java
new file mode 100644
index 00000000..59eed19b
--- /dev/null
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumn.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.apache.baremaps.database.table;
+
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import org.locationtech.jts.geom.*;
+
+/**
+ * A column in a table.
+ */
+public interface DataColumn {
+
+ /**
+ * Returns the name of the column.
+ *
+ * @return the name of the column
+ */
+ String name();
+
+ /**
+ * Returns the type of the column.
+ *
+ * @return the type of the column
+ */
+ Type type();
+
+ /**
+ * An enumeration of the supported data column types.
+ */
+ enum Type {
+ BYTE(Byte.class),
+ BYTE_ARRAY(byte[].class),
+ BOOLEAN(Boolean.class),
+ BOOLEAN_ARRAY(boolean[].class),
+ SHORT(Short.class),
+ SHORT_ARRAY(short[].class),
+ INTEGER(Integer.class),
+ INTEGER_ARRAY(int[].class),
+ LONG(Long.class),
+ LONG_ARRAY(long[].class),
+ FLOAT(Float.class),
+ FLOAT_ARRAY(float[].class),
+ DOUBLE(Double.class),
+ DOUBLE_ARRAY(double[].class),
+ STRING(String.class),
+ COORDINATE(Coordinate.class),
+ GEOMETRY(Geometry.class),
+ POINT(Point.class),
+ LINESTRING(LineString.class),
+ POLYGON(Polygon.class),
+ MULTIPOINT(MultiPoint.class),
+ MULTILINESTRING(MultiLineString.class),
+ MULTIPOLYGON(MultiPolygon.class),
+ GEOMETRYCOLLECTION(GeometryCollection.class),
+ INET_ADDRESS(InetAddress.class),
+ INET4_ADDRESS(Inet4Address.class),
+ INET6_ADDRESS(Inet6Address.class),
+ LOCAL_DATE(LocalDate.class),
+ LOCAL_TIME(LocalTime.class),
+ LOCAL_DATE_TIME(LocalDateTime.class),;
+
+ private final Class<?> binding;
+
+ Type(Class<?> binding) {
+ this.binding = binding;
+ }
+
+ public Class<?> binding() {
+ return binding;
+ }
+
+ public static Type fromBinding(Class<?> binding) {
+ for (Type type : Type.values()) {
+ if (type.binding().equals(binding)) {
+ return type;
+ }
+ }
+ throw new IllegalArgumentException("Unsupported binding: " + binding);
+ }
+ }
+}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnImpl.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumnImpl.java
similarity index 82%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnImpl.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumnImpl.java
index b7001196..beab38b9 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataColumnImpl.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataColumnImpl.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
/**
* A column in a table.
*/
-public record DataColumnImpl(String name, Class type) implements DataColumn {
+public record DataColumnImpl(String name, Type type) implements DataColumn {
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRow.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRow.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRow.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRow.java
index 9288b075..9830a7be 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRow.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRow.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.List;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRowImpl.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRowImpl.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRowImpl.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRowImpl.java
index 7c7d21c1..cc445ca4 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataRowImpl.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataRowImpl.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.List;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchema.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchema.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchema.java
index 42f632a9..2f823a5e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchema.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchema.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.List;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchemaImpl.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchemaImpl.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchemaImpl.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchemaImpl.java
index cbcd2601..88e6422a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataSchemaImpl.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataSchemaImpl.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.ArrayList;
import java.util.List;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataStore.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataStore.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataStore.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataStore.java
index 7f650449..03397288 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataStore.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataStore.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.Collection;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTable.java
similarity index 88%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTable.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTable.java
index da4643b8..708f4c8e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTable.java
@@ -10,9 +10,9 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
-import org.apache.baremaps.collection.DataCollection;
+import org.apache.baremaps.database.collection.DataCollection;
/**
* A table is a collection of rows respecting a schema.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableAdapter.java
similarity index 92%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableAdapter.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableAdapter.java
index 51eb7906..f32b4417 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableAdapter.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableAdapter.java
@@ -10,12 +10,12 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.Iterator;
import java.util.function.Function;
-import org.apache.baremaps.collection.AbstractDataCollection;
+import org.apache.baremaps.database.collection.AbstractDataCollection;
/**
* A decorator for a table that transforms the geometries of the rows.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableException.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableException.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableException.java
index 06902950..ef06e95d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableException.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableException.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
/** Signals that an exception occurred in a table. */
public class DataTableException extends RuntimeException {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableGeometryTransformer.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableGeometryTransformer.java
similarity index 93%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableGeometryTransformer.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableGeometryTransformer.java
index 133e6d94..b88f4a04 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableGeometryTransformer.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableGeometryTransformer.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
import java.util.function.Function;
import org.locationtech.jts.geom.Geometry;
@@ -44,7 +44,7 @@ public class DataTableGeometryTransformer implements Function<DataRow, DataRow>
public DataRow apply(DataRow row) {
var columns = table.schema()
.columns().stream()
- .filter(column -> column.type().isAssignableFrom(Geometry.class))
+ .filter(column -> column.type().binding().isAssignableFrom(Geometry.class))
.toList();
for (DataColumn column : columns) {
var name = column.name();
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableImpl.java b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableImpl.java
similarity index 75%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableImpl.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableImpl.java
index 74afa457..886037a4 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/store/DataTableImpl.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/table/DataTableImpl.java
@@ -10,12 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.store;
+package org.apache.baremaps.database.table;
-import java.util.Collection;
import java.util.Iterator;
-import org.apache.baremaps.collection.AbstractDataCollection;
-import org.apache.baremaps.collection.DataCollection;
+import org.apache.baremaps.database.collection.AbstractDataCollection;
+import org.apache.baremaps.database.collection.DataCollection;
/**
* A table is a collection of rows respecting a schema.
@@ -24,7 +23,7 @@ public class DataTableImpl extends AbstractDataCollection<DataRow> implements Da
private final DataSchema schema;
- private final Collection<DataRow> rows;
+ private final DataCollection<DataRow> rows;
/**
* Constructs a table with the specified schema.
@@ -32,7 +31,7 @@ public class DataTableImpl extends AbstractDataCollection<DataRow> implements Da
* @param schema the schema of the table
* @param rows the collection of rows
*/
- public DataTableImpl(DataSchema schema, Collection<DataRow> rows) {
+ public DataTableImpl(DataSchema schema, DataCollection<DataRow> rows) {
this.schema = schema;
this.rows = rows;
}
@@ -66,10 +65,6 @@ public class DataTableImpl extends AbstractDataCollection<DataRow> implements Da
*/
@Override
public long sizeAsLong() {
- if (rows instanceof DataCollection collection) {
- return collection.sizeAsLong();
- } else {
- return rows.size();
- }
+ return rows.sizeAsLong();
}
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java
index af66ea93..fd1362cc 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java
index 3f4ee5b2..8bdd290e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java
index 6667c5fe..a99d65f6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/BooleanListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java
index b9815cde..f3bb48a8 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import java.nio.ByteBuffer;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java
index 6f14117d..c6c778a7 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java
index debe5e83..e8aaac27 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ByteListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/DataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java
index 23f7310b..28916457 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java
index bfd8b670..55c16cfa 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java
index 88ec8218..b567a2d6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java
index 4a0d43ec..be0353a3 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/DoubleListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FixedSizeDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/FixedSizeDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java
index 6e8f8751..c958a417 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FixedSizeDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java
index 3458c88c..912cd3a0 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java
index 475ac186..81183538 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java
index 231e4cd9..3e349d04 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/FloatListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java
index 57624b2e..0f69c6d8 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java
index b8d59fc9..0542c663 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java
index 09436408..0857a880 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/IntegerListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java
index a8bf99dc..e1818354 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LonLatDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/LonLatDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java
index 65a8f46b..47e283a6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LonLatDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java
index f49efb0a..27bcbc76 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java
index f03e58fa..0f725270 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java
index 4a5c1541..9feab8e2 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/LongListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/MapDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/MapDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java
index c738ca84..e149a879 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/MapDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import java.nio.ByteBuffer;
import java.util.HashMap;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/MemoryAlignedDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/MemoryAlignedDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java
index c9b05a95..8d860992 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/MemoryAlignedDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/NullableDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/NullableDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java
index 78f8f4ff..6a1fe5fd 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/NullableDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/PairDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/PairDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java
index c413a93f..7ecdf55a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/PairDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import java.nio.ByteBuffer;
import java.util.Objects;
-import org.apache.baremaps.collection.type.PairDataType.Pair;
+import org.apache.baremaps.database.type.PairDataType.Pair;
/** A {@link DataType} for reading and writing pairs of values in {@link ByteBuffer}s. */
public class PairDataType<L, R> extends FixedSizeDataType<Pair<L, R>> {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/RowDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java
similarity index 60%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/RowDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java
index 821d68e0..86112484 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/RowDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java
@@ -10,42 +10,40 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.baremaps.collection.store.DataColumn;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataRowImpl;
-import org.apache.baremaps.collection.store.DataSchema;
-import org.apache.baremaps.collection.type.geometry.*;
-import org.locationtech.jts.geom.*;
+import java.util.EnumMap;
+import org.apache.baremaps.database.table.DataColumn;
+import org.apache.baremaps.database.table.DataColumn.Type;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataRowImpl;
+import org.apache.baremaps.database.table.DataSchema;
+import org.apache.baremaps.database.type.geometry.*;
public class RowDataType implements DataType<DataRow> {
- private static final Map<Class, DataType> types;
+ private static final EnumMap<Type, DataType> types = new EnumMap<>(Type.class);
static {
- types = new HashMap<>();
- types.put(Byte.class, new ByteDataType());
- types.put(Boolean.class, new BooleanDataType());
- types.put(Short.class, new ShortDataType());
- types.put(Integer.class, new IntegerDataType());
- types.put(Long.class, new LongDataType());
- types.put(Float.class, new FloatDataType());
- types.put(Double.class, new DoubleDataType());
- types.put(String.class, new StringDataType());
- types.put(Geometry.class, new GeometryDataType());
- types.put(Point.class, new PointDataType());
- types.put(LineString.class, new LineStringDataType());
- types.put(Polygon.class, new PolygonDataType());
- types.put(MultiPoint.class, new MultiPointDataType());
- types.put(MultiLineString.class, new MultiLineStringDataType());
- types.put(MultiPolygon.class, new MultiPolygonDataType());
- types.put(GeometryCollection.class, new GeometryCollectionDataType());
- types.put(Coordinate.class, new CoordinateDataType());
+ types.put(Type.BYTE, new ByteDataType());
+ types.put(Type.BOOLEAN, new BooleanDataType());
+ types.put(Type.SHORT, new ShortDataType());
+ types.put(Type.INTEGER, new IntegerDataType());
+ types.put(Type.LONG, new LongDataType());
+ types.put(Type.FLOAT, new FloatDataType());
+ types.put(Type.DOUBLE, new DoubleDataType());
+ types.put(Type.STRING, new StringDataType());
+ types.put(Type.GEOMETRY, new GeometryDataType());
+ types.put(Type.POINT, new PointDataType());
+ types.put(Type.LINESTRING, new LineStringDataType());
+ types.put(Type.POLYGON, new PolygonDataType());
+ types.put(Type.MULTIPOINT, new MultiPointDataType());
+ types.put(Type.MULTILINESTRING, new MultiLineStringDataType());
+ types.put(Type.MULTIPOLYGON, new MultiPolygonDataType());
+ types.put(Type.GEOMETRYCOLLECTION, new GeometryCollectionDataType());
+ types.put(Type.COORDINATE, new CoordinateDataType());
}
private final DataSchema schema;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java
index 55e10496..71099abf 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java
index 6f079b21..28263b82 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortListDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortListDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java
index dca365b9..1cae4bf9 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/ShortListDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallIntegerDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallIntegerDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java
index 614667bf..05570f4f 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallIntegerDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallLongDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallLongDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java
index f02d72ad..c825a7c4 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/SmallLongDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/StringDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/StringDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java
index ef0c0325..8d4cdcd6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/StringDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateArrayDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateArrayDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java
index 7cce4e25..21749641 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateArrayDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java
@@ -10,10 +10,10 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.Coordinate;
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java
similarity index 88%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java
index 5c9a6767..3ed6ca2a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/CoordinateDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
-import org.apache.baremaps.collection.type.MemoryAlignedDataType;
+import org.apache.baremaps.database.type.DataType;
+import org.apache.baremaps.database.type.MemoryAlignedDataType;
import org.locationtech.jts.geom.Coordinate;
/** A {@link DataType} for reading and writing {@link Coordinate}s in {@link ByteBuffer}s. */
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryCollectionDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryCollectionDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java
index c6f22533..7dc8612a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryCollectionDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.GeometryCollection;
import org.locationtech.jts.geom.GeometryFactory;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java
similarity index 98%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java
index a3303738..0cf2c7d5 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/GeometryDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.*;
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LineStringDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LineStringDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java
index 5b53ba05..cfc910cd 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LineStringDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java
@@ -10,10 +10,10 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.LineString;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LonLatDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java
similarity index 92%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LonLatDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java
index a62a0f36..a18efd7d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/LonLatDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
-import org.apache.baremaps.collection.type.MemoryAlignedDataType;
+import org.apache.baremaps.database.type.DataType;
+import org.apache.baremaps.database.type.MemoryAlignedDataType;
import org.locationtech.jts.geom.Coordinate;
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiLineStringDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiLineStringDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java
index 2a8ab114..9bd5f235 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiLineStringDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.LineString;
import org.locationtech.jts.geom.MultiLineString;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPointDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPointDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java
index 53707c54..e297096b 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPointDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java
@@ -10,10 +10,10 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.MultiPoint;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPolygonDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java
similarity index 96%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPolygonDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java
index 74f254b9..0cdc01f1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/MultiPolygonDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.*;
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PointDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java
similarity index 95%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PointDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java
index aba703ad..d93c4b93 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PointDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java
@@ -10,10 +10,10 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.Point;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PolygonDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java
similarity index 97%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PolygonDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java
index 413fe844..238623a1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/geometry/PolygonDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java
@@ -10,11 +10,11 @@
* the License.
*/
-package org.apache.baremaps.collection.type.geometry;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
import java.util.ArrayList;
-import org.apache.baremaps.collection.type.DataType;
+import org.apache.baremaps.database.type.DataType;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.LineString;
import org.locationtech.jts.geom.LinearRing;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/WKBDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java
similarity index 94%
rename from baremaps-core/src/main/java/org/apache/baremaps/collection/type/WKBDataType.java
rename to baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java
index 64414e2e..5e06577d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/collection/type/WKBDataType.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java
@@ -10,11 +10,12 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type.geometry;
import java.nio.ByteBuffer;
+import org.apache.baremaps.database.type.DataType;
import org.apache.baremaps.utils.GeometryUtils;
import org.locationtech.jts.geom.Geometry;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java
index a8ef85db..86a085c1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java
@@ -26,7 +26,7 @@ import java.util.concurrent.Callable;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import java.util.zip.GZIPInputStream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder;
import org.apache.baremaps.openstreetmap.function.EntityToGeometryMapper;
import org.apache.baremaps.openstreetmap.model.*;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java
index 80f3c747..5b6dbf1c 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java
@@ -15,7 +15,7 @@ package org.apache.baremaps.openstreetmap.function;
import java.util.function.Consumer;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.apache.baremaps.openstreetmap.model.Node;
import org.locationtech.jts.geom.Coordinate;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java
index f552eb4f..2ff4dafc 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java
@@ -16,7 +16,7 @@ package org.apache.baremaps.openstreetmap.function;
import java.util.List;
import java.util.function.Consumer;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.apache.baremaps.openstreetmap.model.Node;
import org.apache.baremaps.openstreetmap.model.Relation;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java
index df86cf5b..b72782e9 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java
@@ -16,7 +16,7 @@ package org.apache.baremaps.openstreetmap.function;
import java.util.function.Consumer;
import java.util.function.Predicate;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Element;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.locationtech.jts.geom.Geometry;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java
index 38300290..d7c880ed 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java
@@ -16,7 +16,7 @@ package org.apache.baremaps.openstreetmap.function;
import java.util.List;
import java.util.function.Consumer;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.apache.baremaps.openstreetmap.model.Way;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationGeometryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationGeometryBuilder.java
index 50c9fe4b..096e30be 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationGeometryBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationGeometryBuilder.java
@@ -16,7 +16,7 @@ import static org.apache.baremaps.utils.GeometryUtils.GEOMETRY_FACTORY_WGS84;
import java.util.*;
import java.util.function.Consumer;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Member;
import org.apache.baremaps.openstreetmap.model.Relation;
import org.apache.baremaps.stream.StreamException;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java
index 4f2e9113..299ec5f7 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java
@@ -16,7 +16,7 @@ import static org.apache.baremaps.utils.GeometryUtils.GEOMETRY_FACTORY_WGS84;
import java.util.List;
import java.util.function.Consumer;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.Way;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.LineString;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java
index 617da33f..79affe43 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java
@@ -17,7 +17,7 @@ import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn;
import java.io.InputStream;
import java.util.List;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.function.*;
import org.apache.baremaps.openstreetmap.model.Block;
import org.apache.baremaps.stream.StreamUtils;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java
index a864f3b0..3fb7db28 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java
@@ -17,7 +17,7 @@ package org.apache.baremaps.openstreetmap.pbf;
import java.io.InputStream;
import java.util.List;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.model.DataBlock;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.apache.baremaps.openstreetmap.model.HeaderBlock;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java
index ba7d3040..7a515ff8 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java
@@ -17,7 +17,7 @@ package org.apache.baremaps.openstreetmap.pbf;
import java.io.InputStream;
import java.util.List;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.OsmReader;
import org.locationtech.jts.geom.Coordinate;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java
index 058a6706..9da22933 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java
@@ -17,8 +17,8 @@ package org.apache.baremaps.openstreetmap.postgres;
import java.sql.*;
import java.util.*;
import javax.sql.DataSource;
-import org.apache.baremaps.collection.DataCollectionException;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataCollectionException;
+import org.apache.baremaps.database.collection.DataMap;
import org.locationtech.jts.geom.Coordinate;
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java
index a4e75095..7d6364fe 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java
@@ -19,7 +19,7 @@ import java.sql.SQLException;
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.function.Function;
-import org.apache.baremaps.collection.DataCollectionException;
+import org.apache.baremaps.database.collection.DataCollectionException;
class PostgresIterator<T> implements Iterator<T> {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java
index 656ce1e6..77c175e5 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java
@@ -21,8 +21,8 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import javax.sql.DataSource;
-import org.apache.baremaps.collection.DataCollectionException;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataCollectionException;
+import org.apache.baremaps.database.collection.DataMap;
/**
* A read-only {@code LongDataMap} for references baked by OpenStreetMap ways stored in Postgres.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataStore.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataStore.java
index 991ad996..e604bc30 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataStore.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataStore.java
@@ -16,9 +16,9 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collection;
-import org.apache.baremaps.collection.store.DataStore;
-import org.apache.baremaps.collection.store.DataTable;
-import org.apache.baremaps.collection.store.DataTableException;
+import org.apache.baremaps.database.table.DataStore;
+import org.apache.baremaps.database.table.DataTable;
+import org.apache.baremaps.database.table.DataTableException;
/**
* A store corresponding to the flatgeobuf files of a directory.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
index 0bcc0eef..428ec1c7 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
@@ -22,10 +22,10 @@ import java.nio.file.StandardOpenOption;
import java.util.Collection;
import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.apache.baremaps.collection.AbstractDataCollection;
-import org.apache.baremaps.collection.store.AbstractDataTable;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataSchema;
+import org.apache.baremaps.database.collection.AbstractDataCollection;
+import org.apache.baremaps.database.table.AbstractDataTable;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataSchema;
import org.apache.baremaps.storage.flatgeobuf.internal.TableConversions;
import org.locationtech.jts.geom.*;
import org.wololo.flatgeobuf.Constants;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/internal/TableConversions.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/internal/TableConversions.java
index 2d0b1165..fec6d0ee 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/internal/TableConversions.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/internal/TableConversions.java
@@ -18,12 +18,10 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.WritableByteChannel;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
-import org.apache.baremaps.collection.store.*;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
import org.wololo.flatgeobuf.ColumnMeta;
import org.wololo.flatgeobuf.GeometryConversions;
import org.wololo.flatgeobuf.HeaderMeta;
@@ -34,10 +32,23 @@ import org.wololo.flatgeobuf.generated.Header;
public class TableConversions {
+ public static final EnumMap<Type, Integer> types = new EnumMap<>(Type.class);
+
+ static {
+ types.put(Type.BYTE, ColumnType.Byte);
+ types.put(Type.BOOLEAN, ColumnType.Bool);
+ types.put(Type.SHORT, ColumnType.Short);
+ types.put(Type.INTEGER, ColumnType.Int);
+ types.put(Type.LONG, ColumnType.Long);
+ types.put(Type.FLOAT, ColumnType.Float);
+ types.put(Type.DOUBLE, ColumnType.Double);
+ types.put(Type.STRING, ColumnType.String);
+ }
+
public static DataSchema asFeatureType(HeaderMeta headerMeta) {
var name = headerMeta.name;
var columns = headerMeta.columns.stream()
- .map(column -> new DataColumnImpl(column.name, column.getBinding()))
+ .map(column -> new DataColumnImpl(column.name, Type.fromBinding(column.getBinding())))
.map(DataColumn.class::cast)
.toList();
return new DataSchemaImpl(name, columns);
@@ -179,15 +190,7 @@ public class TableConversions {
throw new UnsupportedOperationException();
}
- public static final Map<Class, Integer> types = Map.of(
- Byte.class, ColumnType.Byte,
- Boolean.class, ColumnType.Bool,
- Short.class, ColumnType.Short,
- Integer.class, ColumnType.Int,
- Long.class, ColumnType.Long,
- Float.class, ColumnType.Float,
- Double.class, ColumnType.Double,
- String.class, ColumnType.String);
+
public static List<ColumnMeta> asColumns(List<DataColumn> columns) {
return columns.stream()
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataStore.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataStore.java
index ead21afe..bfb9571d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataStore.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataStore.java
@@ -17,9 +17,9 @@ import java.nio.file.Path;
import java.util.Collection;
import mil.nga.geopackage.GeoPackage;
import mil.nga.geopackage.GeoPackageManager;
-import org.apache.baremaps.collection.store.DataStore;
-import org.apache.baremaps.collection.store.DataTable;
-import org.apache.baremaps.collection.store.DataTableException;
+import org.apache.baremaps.database.table.DataStore;
+import org.apache.baremaps.database.table.DataTable;
+import org.apache.baremaps.database.table.DataTableException;
/**
* A store corresponding to a GeoPackage database.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java
index 07dec86d..41af61c6 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java
@@ -18,8 +18,9 @@ import mil.nga.geopackage.features.user.FeatureColumn;
import mil.nga.geopackage.features.user.FeatureDao;
import mil.nga.geopackage.features.user.FeatureResultSet;
import mil.nga.geopackage.geom.GeoPackageGeometryData;
-import org.apache.baremaps.collection.AbstractDataCollection;
-import org.apache.baremaps.collection.store.*;
+import org.apache.baremaps.database.collection.AbstractDataCollection;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
import org.locationtech.jts.geom.*;
/**
@@ -51,11 +52,11 @@ public class GeoPackageDataTable extends AbstractDataCollection<DataRow> impleme
geometryFactory = new GeometryFactory(new PrecisionModel(), (int) featureDao.getSrs().getId());
}
- protected Class<?> classType(FeatureColumn column) {
+ protected Type classType(FeatureColumn column) {
if (column.isGeometry()) {
- return Geometry.class;
+ return Type.fromBinding(Geometry.class);
} else {
- return column.getDataType().getClassType();
+ return Type.fromBinding(column.getDataType().getClassType());
}
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
index 2e641c6b..203f9000 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
@@ -16,7 +16,6 @@ package org.apache.baremaps.storage.postgres;
import de.bytefish.pgbulkinsert.pgsql.handlers.*;
import java.net.Inet4Address;
import java.net.Inet6Address;
-import java.net.InetAddress;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -26,7 +25,8 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.sql.DataSource;
-import org.apache.baremaps.collection.store.*;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
import org.apache.baremaps.postgres.copy.CopyWriter;
import org.apache.baremaps.postgres.copy.GeometryValueHandler;
import org.apache.baremaps.postgres.metadata.DatabaseMetadata;
@@ -68,18 +68,18 @@ public class PostgresDataStore implements DataStore {
Map.entry(LocalTime.class, "time"),
Map.entry(LocalDateTime.class, "timestamp"));
- protected static final Map<String, Class> nameToType = Map.ofEntries(
- Map.entry("varchar", String.class),
- Map.entry("int2", Short.class),
- Map.entry("int4", Integer.class),
- Map.entry("int8", Long.class),
- Map.entry("float4", Float.class),
- Map.entry("float8", Double.class),
- Map.entry("geometry", Geometry.class),
- Map.entry("inet", InetAddress.class),
- Map.entry("date", LocalDate.class),
- Map.entry("time", LocalTime.class),
- Map.entry("timestamp", LocalDateTime.class));
+ protected static final Map<String, Type> nameToType = Map.ofEntries(
+ Map.entry("varchar", Type.STRING),
+ Map.entry("int2", Type.SHORT),
+ Map.entry("int4", Type.INTEGER),
+ Map.entry("int8", Type.LONG),
+ Map.entry("float4", Type.FLOAT),
+ Map.entry("float8", Type.DOUBLE),
+ Map.entry("geometry", Type.GEOMETRY),
+ Map.entry("inet", Type.INET6_ADDRESS),
+ Map.entry("date", Type.LOCAL_DATE),
+ Map.entry("time", Type.LOCAL_TIME),
+ Map.entry("timestamp", Type.LOCAL_DATE_TIME));
private final DataSource dataSource;
@@ -288,50 +288,29 @@ public class PostgresDataStore implements DataStore {
* @param type the type
* @return the handler
*/
- protected BaseValueHandler getHandler(Class type) {
- if (type == String.class) {
- return new StringValueHandler();
- } else if (type == Short.class) {
- return new ShortValueHandler<Short>();
- } else if (type == Integer.class) {
- return new IntegerValueHandler<Integer>();
- } else if (type == Long.class) {
- return new LongValueHandler<Long>();
- } else if (type == Float.class) {
- return new FloatValueHandler<Float>();
- } else if (type == Double.class) {
- return new DoubleValueHandler<Double>();
- } else if (type == Geometry.class) {
- return new GeometryValueHandler();
- } else if (type == MultiPoint.class) {
- return new GeometryValueHandler();
- } else if (type == Point.class) {
- return new GeometryValueHandler();
- } else if (type == LineString.class) {
- return new GeometryValueHandler();
- } else if (type == MultiLineString.class) {
- return new GeometryValueHandler();
- } else if (type == Polygon.class) {
- return new GeometryValueHandler();
- } else if (type == MultiPolygon.class) {
- return new GeometryValueHandler();
- } else if (type == LinearRing.class) {
- return new GeometryValueHandler();
- } else if (type == GeometryCollection.class) {
- return new GeometryValueHandler();
- } else if (type == Inet4Address.class) {
- return new Inet4AddressValueHandler();
- } else if (type == Inet6Address.class) {
- return new Inet6AddressValueHandler();
- } else if (type == LocalDate.class) {
- return new LocalDateValueHandler();
- } else if (type == LocalTime.class) {
- return new LocalTimeValueHandler();
- } else if (type == LocalDateTime.class) {
- return new LocalDateTimeValueHandler();
- } else {
- throw new IllegalArgumentException("Unsupported type " + type);
- }
+ protected BaseValueHandler getHandler(Type type) {
+ return switch (type) {
+ case STRING -> new StringValueHandler();
+ case SHORT -> new ShortValueHandler<Short>();
+ case INTEGER -> new IntegerValueHandler<Integer>();
+ case LONG -> new LongValueHandler<Long>();
+ case FLOAT -> new FloatValueHandler<Float>();
+ case DOUBLE -> new DoubleValueHandler<Double>();
+ case GEOMETRY -> new GeometryValueHandler();
+ case POINT -> new GeometryValueHandler();
+ case MULTIPOINT -> new GeometryValueHandler();
+ case LINESTRING -> new GeometryValueHandler();
+ case MULTILINESTRING -> new GeometryValueHandler();
+ case POLYGON -> new GeometryValueHandler();
+ case MULTIPOLYGON -> new GeometryValueHandler();
+ case GEOMETRYCOLLECTION -> new GeometryValueHandler();
+ case INET4_ADDRESS -> new Inet4AddressValueHandler();
+ case INET6_ADDRESS -> new Inet6AddressValueHandler();
+ case LOCAL_DATE -> new LocalDateValueHandler();
+ case LOCAL_TIME -> new LocalTimeValueHandler();
+ case LOCAL_DATE_TIME -> new LocalDateTimeValueHandler();
+ default -> throw new IllegalArgumentException("Unsupported type: " + type);
+ };
}
/**
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
index 68e75ddd..f0c39741 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
@@ -21,10 +21,10 @@ import java.util.*;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import javax.sql.DataSource;
-import org.apache.baremaps.collection.store.AbstractDataTable;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataRowImpl;
-import org.apache.baremaps.collection.store.DataSchema;
+import org.apache.baremaps.database.table.AbstractDataTable;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataRowImpl;
+import org.apache.baremaps.database.table.DataSchema;
import org.apache.baremaps.utils.GeometryUtils;
import org.locationtech.jts.geom.*;
@@ -147,7 +147,7 @@ public class PostgresDataTable extends AbstractDataTable {
protected static String select(DataSchema schema) {
var columns = schema.columns().stream()
.map(column -> {
- if (column.type().isAssignableFrom(Geometry.class)) {
+ if (column.type().binding().isAssignableFrom(Geometry.class)) {
return String.format("st_asbinary(\"%s\") AS \"%s\"", column.name(), column.name());
} else {
return String.format("\"%s\"", column.name());
@@ -233,7 +233,7 @@ public class PostgresDataTable extends AbstractDataTable {
List<Object> values = new ArrayList<>();
for (int i = 0; i < schema.columns().size(); i++) {
var column = schema.columns().get(i);
- if (column.type().isAssignableFrom(Geometry.class)) {
+ if (column.type().binding().isAssignableFrom(Geometry.class)) {
values.add(GeometryUtils.deserialize(resultSet.getBytes(i + 1)));
} else {
values.add(resultSet.getObject(i + 1));
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataStore.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataStore.java
index 9fe4500b..c4f5f7a1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataStore.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataStore.java
@@ -18,9 +18,9 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collection;
-import org.apache.baremaps.collection.store.DataStore;
-import org.apache.baremaps.collection.store.DataTable;
-import org.apache.baremaps.collection.store.DataTableException;
+import org.apache.baremaps.database.table.DataStore;
+import org.apache.baremaps.database.table.DataTable;
+import org.apache.baremaps.database.table.DataTableException;
/**
* A store corresponding to the shapefiles of a directory.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
index 8275a5b3..d290e81d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
@@ -17,10 +17,10 @@ import java.io.IOException;
import java.nio.file.Path;
import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.apache.baremaps.collection.store.AbstractDataTable;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataSchema;
-import org.apache.baremaps.collection.store.DataTableException;
+import org.apache.baremaps.database.table.AbstractDataTable;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataSchema;
+import org.apache.baremaps.database.table.DataTableException;
import org.apache.baremaps.storage.shapefile.internal.ShapefileInputStream;
import org.apache.baremaps.storage.shapefile.internal.ShapefileReader;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java
index 214ae84b..79be263d 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java
@@ -22,7 +22,7 @@ import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import java.text.MessageFormat;
import java.util.*;
-import org.apache.baremaps.collection.store.DataRow;
+import org.apache.baremaps.database.table.DataRow;
/**
* Reader of a Database Binary content.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
index 4740666f..5ee11243 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
@@ -19,7 +19,8 @@ import java.nio.ByteOrder;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.util.*;
-import org.apache.baremaps.collection.store.*;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
import org.locationtech.jts.algorithm.Orientation;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.CoordinateList;
@@ -124,30 +125,29 @@ public class ShapefileByteReader extends CommonByteReader {
var fieldDescriptor = this.databaseFieldsDescriptors.get(i);
var columnName = fieldDescriptor.getName();
var columnType = switch (fieldDescriptor.getType()) {
- case Character -> String.class;
- case Number -> fieldDescriptor.getDecimalCount() == 0 ? Long.class : Double.class;
- case Currency -> Double.class;
- case Integer -> Integer.class;
- case Double -> Double.class;
- case AutoIncrement -> Integer.class;
+ case Character -> Type.STRING;
+ case Number -> fieldDescriptor.getDecimalCount() == 0 ? Type.LONG : Type.DOUBLE;
+ case Currency -> Type.DOUBLE;
+ case Double -> Type.DOUBLE;
+ case Integer -> Type.INTEGER;
+ case AutoIncrement -> Type.INTEGER;
// TODO: Implement the following types
- case Logical -> String.class;
- case Date -> String.class;
- case Memo -> String.class;
- case FloatingPoint -> String.class;
- case Picture -> String.class;
- case VariField -> String.class;
- case Variant -> String.class;
- case TimeStamp -> String.class;
- case DateTime -> String.class;
+ case Logical -> Type.STRING;
+ case Date -> Type.STRING;
+ case Memo -> Type.STRING;
+ case FloatingPoint -> Type.STRING;
+ case Picture -> Type.STRING;
+ case VariField -> Type.STRING;
+ case Variant -> Type.STRING;
+ case TimeStamp -> Type.STRING;
+ case DateTime -> Type.STRING;
};
-
columns.add(new DataColumnImpl(columnName, columnType));
}
// Add geometry column.
- columns.add(new DataColumnImpl(GEOMETRY_NAME, Geometry.class));
+ columns.add(new DataColumnImpl(GEOMETRY_NAME, Type.GEOMETRY));
return new DataSchemaImpl(name, columns);
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java
index 2137c096..8e8d102b 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java
@@ -18,8 +18,8 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataSchema;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataSchema;
/**
* Input Stream of features.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java
index e0936db8..79b12b0b 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java
@@ -18,7 +18,7 @@ import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Objects;
-import org.apache.baremaps.collection.store.DataSchema;
+import org.apache.baremaps.database.table.DataSchema;
/**
* Provides a ShapeFile Reader.
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java b/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java
index 92ed5534..4560f464 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java
@@ -32,7 +32,7 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
-import org.apache.baremaps.collection.store.DataRow;
+import org.apache.baremaps.database.table.DataRow;
import org.locationtech.jts.geom.*;
public interface Expressions {
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java
index 7e9551bc..8a61a107 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java
@@ -13,8 +13,8 @@
package org.apache.baremaps.workflow.tasks;
import java.nio.file.Path;
-import org.apache.baremaps.collection.store.DataTableAdapter;
-import org.apache.baremaps.collection.store.DataTableGeometryTransformer;
+import org.apache.baremaps.database.table.DataTableAdapter;
+import org.apache.baremaps.database.table.DataTableGeometryTransformer;
import org.apache.baremaps.storage.geopackage.GeoPackageDataStore;
import org.apache.baremaps.storage.postgres.PostgresDataStore;
import org.apache.baremaps.utils.ProjectionTransformer;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
index 54da8b80..b7053a70 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
@@ -17,12 +17,12 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
-import org.apache.baremaps.collection.*;
-import org.apache.baremaps.collection.memory.MemoryMappedFile;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.LongListDataType;
-import org.apache.baremaps.collection.type.PairDataType;
-import org.apache.baremaps.collection.type.geometry.LonLatDataType;
+import org.apache.baremaps.database.collection.*;
+import org.apache.baremaps.database.memory.MemoryMappedFile;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.LongListDataType;
+import org.apache.baremaps.database.type.PairDataType;
+import org.apache.baremaps.database.type.geometry.LonLatDataType;
import org.apache.baremaps.openstreetmap.model.Node;
import org.apache.baremaps.openstreetmap.model.Relation;
import org.apache.baremaps.openstreetmap.model.Way;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java
index 4d52a785..2fd9107f 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java
@@ -13,8 +13,8 @@
package org.apache.baremaps.workflow.tasks;
import java.nio.file.Path;
-import org.apache.baremaps.collection.store.DataTableAdapter;
-import org.apache.baremaps.collection.store.DataTableGeometryTransformer;
+import org.apache.baremaps.database.table.DataTableAdapter;
+import org.apache.baremaps.database.table.DataTableGeometryTransformer;
import org.apache.baremaps.storage.postgres.PostgresDataStore;
import org.apache.baremaps.storage.shapefile.ShapefileDataTable;
import org.apache.baremaps.utils.ProjectionTransformer;
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOpenStreetMap.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOpenStreetMap.java
index 2498e215..dd05a4b8 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOpenStreetMap.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOpenStreetMap.java
@@ -20,7 +20,7 @@ import java.net.URI;
import java.net.URL;
import java.util.List;
import java.util.zip.GZIPInputStream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.function.ChangeEntitiesHandler;
import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder;
import org.apache.baremaps.openstreetmap.function.EntityProjectionTransformer;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/AppendOnlyBufferTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java
similarity index 88%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/AppendOnlyBufferTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java
index cef31239..6d3465de 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/AppendOnlyBufferTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java
@@ -10,17 +10,18 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.Random;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.DataType;
-import org.apache.baremaps.collection.type.IntegerDataType;
-import org.apache.baremaps.collection.type.IntegerListDataType;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.DataType;
+import org.apache.baremaps.database.type.IntegerDataType;
+import org.apache.baremaps.database.type.IntegerListDataType;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -60,7 +61,7 @@ class AppendOnlyBufferTest {
}
@ParameterizedTest
- @MethodSource("org.apache.baremaps.collection.type.DataTypeProvider#dataTypes")
+ @MethodSource("org.apache.baremaps.database.type.DataTypeProvider#dataTypes")
void testAllDataTypes(DataType dataType, Object value) {
var num = 1000;
var collection = new AppendOnlyBuffer<>(dataType, new OffHeapMemory(1 << 22));
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/DataListTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java
similarity index 93%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/DataListTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java
index 672e4111..db69b09c 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/DataListTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java
@@ -10,12 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database;
import static org.junit.jupiter.api.Assertions.*;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.collection.*;
+import org.apache.baremaps.database.type.LongDataType;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/DataMapTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java
similarity index 94%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/DataMapTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java
index 176313d5..0ccac5c5 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/DataMapTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java
@@ -10,16 +10,17 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database;
import static org.junit.jupiter.api.Assertions.*;
import java.util.*;
import java.util.Map.Entry;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.PairDataType;
+import org.apache.baremaps.database.collection.*;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.PairDataType;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/SizedDataListTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java
similarity index 77%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/SizedDataListTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java
index 9721a707..45a4cb8d 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/SizedDataListTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java
@@ -10,15 +10,17 @@
* the License.
*/
-package org.apache.baremaps.collection;
+package org.apache.baremaps.database;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
-import org.apache.baremaps.collection.memory.Memory;
-import org.apache.baremaps.collection.memory.OffHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.collection.DataCollectionException;
+import org.apache.baremaps.database.collection.FixedSizeDataList;
+import org.apache.baremaps.database.memory.Memory;
+import org.apache.baremaps.database.memory.OffHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -33,7 +35,7 @@ class SizedDataListTest {
}
@ParameterizedTest
- @MethodSource("org.apache.baremaps.collection.memory.MemoryProvider#memories")
+ @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories")
void appendFixedSizeValues(Memory memory) throws IOException {
var list = new FixedSizeDataList<>(new LongDataType(), memory);
for (int i = 0; i < 1 << 10; i++) {
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/algorithm/UnionStreamTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java
similarity index 97%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/algorithm/UnionStreamTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java
index a868e3f8..4119ff97 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/algorithm/UnionStreamTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.algorithm;
+package org.apache.baremaps.database.algorithm;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryProvider.java b/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java
similarity index 96%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryProvider.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java
index 3c0d43c0..35b8ed3a 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryProvider.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java
similarity index 83%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java
index acdefcb1..18994ecb 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/memory/MemoryTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java
@@ -10,9 +10,9 @@
* the License.
*/
-package org.apache.baremaps.collection.memory;
+package org.apache.baremaps.database.memory;
-import static org.apache.baremaps.collection.memory.MemoryProvider.SEGMENT_BYTES;
+import static org.apache.baremaps.database.memory.MemoryProvider.SEGMENT_BYTES;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertSame;
@@ -26,7 +26,7 @@ class MemoryTest {
private static final int SEGMENT_NUMBER = 10;
@ParameterizedTest
- @MethodSource("org.apache.baremaps.collection.memory.MemoryProvider#memories")
+ @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories")
void capacity(Memory memory) throws IOException {
assertEquals(SEGMENT_BYTES, memory.segmentSize());
memory.close();
@@ -34,7 +34,7 @@ class MemoryTest {
}
@ParameterizedTest
- @MethodSource("org.apache.baremaps.collection.memory.MemoryProvider#memories")
+ @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories")
void segment(Memory memory) throws IOException {
for (int i = 0; i < SEGMENT_NUMBER; i++) {
assertEquals(SEGMENT_BYTES, memory.segment(i).capacity());
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/sort/BinarySearchTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java
similarity index 80%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/sort/BinarySearchTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java
index 899018df..f2353d1b 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/sort/BinarySearchTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java
@@ -10,13 +10,13 @@
* the License.
*/
-package org.apache.baremaps.collection.sort;
+package org.apache.baremaps.database.sort;
import static org.junit.jupiter.api.Assertions.*;
-import org.apache.baremaps.collection.MemoryAlignedDataList;
-import org.apache.baremaps.collection.algorithm.BinarySearch;
-import org.apache.baremaps.collection.type.LongDataType;
+import org.apache.baremaps.database.algorithm.BinarySearch;
+import org.apache.baremaps.database.collection.MemoryAlignedDataList;
+import org.apache.baremaps.database.type.LongDataType;
import org.junit.jupiter.api.Test;
class BinarySearchTest {
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/sort/ExternalMergeSortTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java
similarity index 86%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/sort/ExternalMergeSortTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java
index b92c4614..3d365773 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/sort/ExternalMergeSortTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.sort;
+package org.apache.baremaps.database.sort;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -21,14 +21,14 @@ import java.util.Comparator;
import java.util.List;
import java.util.Random;
import java.util.function.Supplier;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataList;
-import org.apache.baremaps.collection.IndexedDataList;
-import org.apache.baremaps.collection.MemoryAlignedDataList;
-import org.apache.baremaps.collection.algorithm.ExternalMergeSort;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongDataType;
-import org.apache.baremaps.collection.type.StringDataType;
+import org.apache.baremaps.database.algorithm.ExternalMergeSort;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.DataList;
+import org.apache.baremaps.database.collection.IndexedDataList;
+import org.apache.baremaps.database.collection.MemoryAlignedDataList;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongDataType;
+import org.apache.baremaps.database.type.StringDataType;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeProvider.java b/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java
similarity index 93%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeProvider.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java
index c9052279..b024bb03 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeProvider.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java
@@ -10,16 +10,17 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
-import org.apache.baremaps.collection.store.*;
-import org.apache.baremaps.collection.store.DataSchema;
-import org.apache.baremaps.collection.store.DataSchemaImpl;
-import org.apache.baremaps.collection.type.geometry.*;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
+import org.apache.baremaps.database.table.DataSchema;
+import org.apache.baremaps.database.table.DataSchemaImpl;
+import org.apache.baremaps.database.type.geometry.*;
import org.junit.jupiter.params.provider.Arguments;
import org.locationtech.jts.geom.*;
@@ -28,23 +29,23 @@ public class DataTypeProvider {
private static final GeometryFactory geometryFactory = new GeometryFactory();
private static final DataSchema DATA_SCHEMA = new DataSchemaImpl("row", List.of(
- new DataColumnImpl("byte", Byte.class),
- new DataColumnImpl("boolean", Boolean.class),
- new DataColumnImpl("short", Short.class),
- new DataColumnImpl("integer", Integer.class),
- new DataColumnImpl("long", Long.class),
- new DataColumnImpl("float", Float.class),
- new DataColumnImpl("double", Double.class),
- new DataColumnImpl("string", String.class),
- new DataColumnImpl("geometry", Geometry.class),
- new DataColumnImpl("point", Point.class),
- new DataColumnImpl("linestring", LineString.class),
- new DataColumnImpl("polygon", Polygon.class),
- new DataColumnImpl("multipoint", MultiPoint.class),
- new DataColumnImpl("multilinestring", MultiLineString.class),
- new DataColumnImpl("multipolygon", MultiPolygon.class),
- new DataColumnImpl("geometrycollection", GeometryCollection.class),
- new DataColumnImpl("coordinate", Coordinate.class)));
+ new DataColumnImpl("byte", Type.BYTE),
+ new DataColumnImpl("boolean", Type.BOOLEAN),
+ new DataColumnImpl("short", Type.SHORT),
+ new DataColumnImpl("integer", Type.INTEGER),
+ new DataColumnImpl("long", Type.LONG),
+ new DataColumnImpl("float", Type.FLOAT),
+ new DataColumnImpl("double", Type.DOUBLE),
+ new DataColumnImpl("string", Type.STRING),
+ new DataColumnImpl("geometry", Type.GEOMETRY),
+ new DataColumnImpl("point", Type.POINT),
+ new DataColumnImpl("linestring", Type.LINESTRING),
+ new DataColumnImpl("polygon", Type.POLYGON),
+ new DataColumnImpl("multipoint", Type.MULTIPOINT),
+ new DataColumnImpl("multilinestring", Type.MULTILINESTRING),
+ new DataColumnImpl("multipolygon", Type.MULTIPOLYGON),
+ new DataColumnImpl("geometrycollection", Type.GEOMETRYCOLLECTION),
+ new DataColumnImpl("coordinate", Type.COORDINATE)));
private static final DataRow DATA_ROW = DATA_SCHEMA.createRow()
.with("byte", Byte.MAX_VALUE)
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java
similarity index 94%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java
index d81edd9e..d9201772 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/DataTypeTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -22,7 +22,7 @@ import org.junit.jupiter.params.provider.MethodSource;
class DataTypeTest {
@ParameterizedTest
- @MethodSource("org.apache.baremaps.collection.type.DataTypeProvider#dataTypes")
+ @MethodSource("org.apache.baremaps.database.type.DataTypeProvider#dataTypes")
void writeAndRead(DataType dataType, Object value) {
var size = dataType.size(value);
var buffer = ByteBuffer.allocate(size);
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/LonLatDataTypeTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java
similarity index 95%
rename from baremaps-core/src/test/java/org/apache/baremaps/collection/type/LonLatDataTypeTest.java
rename to baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java
index 81a1c679..442b22a5 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/collection/type/LonLatDataTypeTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java
@@ -10,7 +10,7 @@
* the License.
*/
-package org.apache.baremaps.collection.type;
+package org.apache.baremaps.database.type;
import static org.junit.jupiter.api.Assertions.*;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java
index 50e88394..8f744ede 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java
@@ -23,7 +23,7 @@ import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder;
import org.apache.baremaps.openstreetmap.model.Info;
import org.apache.baremaps.openstreetmap.model.Member;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/RelationGeometryBuilderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/RelationGeometryBuilderTest.java
index 161cdfc2..fd6224fc 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/RelationGeometryBuilderTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/RelationGeometryBuilderTest.java
@@ -19,7 +19,7 @@ import java.io.InputStream;
import java.util.List;
import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.apache.baremaps.openstreetmap.function.RelationGeometryBuilder;
import org.apache.baremaps.openstreetmap.model.Entity;
import org.apache.baremaps.openstreetmap.model.Node;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java
index f9440da9..01fba4d6 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java
@@ -16,7 +16,7 @@ package org.apache.baremaps.openstreetmap.store;
import java.util.Iterator;
import java.util.Map;
-import org.apache.baremaps.collection.DataMap;
+import org.apache.baremaps.database.collection.DataMap;
import org.jetbrains.annotations.Nullable;
public class MockDataMap<T> extends DataMap<T> {
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java
index b870932c..ce62de70 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java
@@ -16,9 +16,9 @@ import static org.apache.baremaps.openstreetmap.repository.Constants.GEOMETRY_FA
import java.util.Iterator;
import java.util.List;
-import org.apache.baremaps.collection.store.*;
+import org.apache.baremaps.database.table.*;
+import org.apache.baremaps.database.table.DataColumn.Type;
import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.Geometry;
public class MockDataTable extends AbstractDataTable {
@@ -28,11 +28,11 @@ public class MockDataTable extends AbstractDataTable {
public MockDataTable() {
this.schema = new DataSchemaImpl("mock", List.of(
- new DataColumnImpl("string", String.class),
- new DataColumnImpl("integer", Integer.class),
- new DataColumnImpl("double", Double.class),
- new DataColumnImpl("float", Float.class),
- new DataColumnImpl("geometry", Geometry.class)));
+ new DataColumnImpl("string", Type.STRING),
+ new DataColumnImpl("integer", Type.INTEGER),
+ new DataColumnImpl("double", Type.DOUBLE),
+ new DataColumnImpl("float", Type.FLOAT),
+ new DataColumnImpl("geometry", Type.GEOMETRY)));
this.rows = List.of(
new DataRowImpl(schema,
List.of("string", 1, 1.0, 1.0f, GEOMETRY_FACTORY.createPoint(new Coordinate(1, 1)))),
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataStoreTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataStoreTest.java
index 2b1104cc..c5cbb767 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataStoreTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataStoreTest.java
@@ -14,7 +14,7 @@ package org.apache.baremaps.storage.postgres;
import static org.junit.jupiter.api.Assertions.*;
-import org.apache.baremaps.collection.store.DataTableException;
+import org.apache.baremaps.database.table.DataTableException;
import org.apache.baremaps.storage.MockDataTable;
import org.apache.baremaps.testing.PostgresContainerTest;
import org.junit.jupiter.api.BeforeEach;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java
index b1c6960e..f1e3b11f 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java
@@ -16,7 +16,7 @@ import static org.apache.baremaps.openstreetmap.repository.Constants.GEOMETRY_FA
import static org.junit.jupiter.api.Assertions.*;
import java.util.List;
-import org.apache.baremaps.collection.store.DataRowImpl;
+import org.apache.baremaps.database.table.DataRowImpl;
import org.apache.baremaps.storage.MockDataTable;
import org.apache.baremaps.testing.PostgresContainerTest;
import org.junit.jupiter.api.BeforeEach;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java b/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java
index 56bdcf93..15a469ea 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java
@@ -16,8 +16,8 @@ import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.util.List;
-import org.apache.baremaps.collection.store.DataRow;
-import org.apache.baremaps.collection.store.DataSchema;
+import org.apache.baremaps.database.table.DataRow;
+import org.apache.baremaps.database.table.DataSchema;
import org.apache.baremaps.vectortile.expression.Expressions;
import org.apache.baremaps.vectortile.expression.Expressions.*;
import org.junit.jupiter.api.Test;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportMonacoTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportMonacoTest.java
index 84c903f8..4ac44277 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportMonacoTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportMonacoTest.java
@@ -16,12 +16,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.LocalDateTime;
import java.util.List;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataMap;
-import org.apache.baremaps.collection.IndexedDataMap;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongListDataType;
-import org.apache.baremaps.collection.type.geometry.CoordinateDataType;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.DataMap;
+import org.apache.baremaps.database.collection.IndexedDataMap;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongListDataType;
+import org.apache.baremaps.database.type.geometry.CoordinateDataType;
import org.apache.baremaps.openstreetmap.DiffService;
import org.apache.baremaps.openstreetmap.model.Header;
import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateDataTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateDataTest.java
index 6d92d4c2..42b767a9 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateDataTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateDataTest.java
@@ -19,12 +19,12 @@ import static org.junit.jupiter.api.Assertions.assertNull;
import java.time.LocalDateTime;
import java.util.List;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataMap;
-import org.apache.baremaps.collection.IndexedDataMap;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongListDataType;
-import org.apache.baremaps.collection.type.geometry.CoordinateDataType;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.DataMap;
+import org.apache.baremaps.database.collection.IndexedDataMap;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongListDataType;
+import org.apache.baremaps.database.type.geometry.CoordinateDataType;
import org.apache.baremaps.openstreetmap.model.Header;
import org.apache.baremaps.openstreetmap.model.Node;
import org.apache.baremaps.openstreetmap.model.Way;
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateLiechtensteinTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateLiechtensteinTest.java
index 7fe302a3..b255ee5b 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateLiechtensteinTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateLiechtensteinTest.java
@@ -18,12 +18,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.LocalDateTime;
import java.util.List;
-import org.apache.baremaps.collection.AppendOnlyBuffer;
-import org.apache.baremaps.collection.DataMap;
-import org.apache.baremaps.collection.IndexedDataMap;
-import org.apache.baremaps.collection.memory.OnHeapMemory;
-import org.apache.baremaps.collection.type.LongListDataType;
-import org.apache.baremaps.collection.type.geometry.CoordinateDataType;
+import org.apache.baremaps.database.collection.AppendOnlyBuffer;
+import org.apache.baremaps.database.collection.DataMap;
+import org.apache.baremaps.database.collection.IndexedDataMap;
+import org.apache.baremaps.database.memory.OnHeapMemory;
+import org.apache.baremaps.database.type.LongListDataType;
+import org.apache.baremaps.database.type.geometry.CoordinateDataType;
import org.apache.baremaps.openstreetmap.DiffService;
import org.apache.baremaps.openstreetmap.model.Header;
import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap;
diff --git a/baremaps-ogcapi/src/main/java/org/apache/baremaps/ogcapi/CollectionsResource.java b/baremaps-ogcapi/src/main/java/org/apache/baremaps/ogcapi/CollectionsResource.java
index c6522dcd..ce87b2b2 100644
--- a/baremaps-ogcapi/src/main/java/org/apache/baremaps/ogcapi/CollectionsResource.java
+++ b/baremaps-ogcapi/src/main/java/org/apache/baremaps/ogcapi/CollectionsResource.java
@@ -20,7 +20,7 @@ import javax.sql.DataSource;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-import org.apache.baremaps.collection.store.DataTable;
+import org.apache.baremaps.database.table.DataTable;
import org.apache.baremaps.ogcapi.api.CollectionsApi;
import org.apache.baremaps.ogcapi.model.Collection;
import org.apache.baremaps.ogcapi.model.Collections;