summaryrefslogtreecommitdiff
path: root/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-06-06 16:21:21 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-06-07 15:46:53 +0200
commit2358257c1080b7ce78270535f82f0b960d48261a (patch)
treebced69c02698e85f995aa9935ddcfb54df23a64f /opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt
parent61b6550d7a476ab1aae45a5b9385dfd6ca4f6b6f (diff)
refactor(trace/api): Introduce type system for trace API
This change updates the trace API by introducing a limited type system for the table columns. Previously, the table columns could have any possible type representable by the JVM. With this change, we limit the available types to a small type system.
Diffstat (limited to 'opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt')
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt13
1 files changed, 4 insertions, 9 deletions
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt
index 05d0234a..e6e97706 100644
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt
+++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/Table.kt
@@ -32,21 +32,16 @@ public interface Table {
public val name: String
/**
- * The list of columns supported in this table.
+ * The columns in this table.
*/
- public val columns: List<TableColumn<*>>
-
- /**
- * The columns by which the table is partitioned.
- */
- public val partitionKeys: List<TableColumn<*>>
+ public val columns: List<TableColumn>
/**
* Open a [TableReader] for a projection of this table.
*
- * @param projection The list of columns to fetch from the table or `null` if no projection is performed.
+ * @param projection The names of the columns to fetch from the table or `null` if no projection is performed.
*/
- public fun newReader(projection: List<TableColumn<*>>? = null): TableReader
+ public fun newReader(projection: List<String>? = null): TableReader
/**
* Open a [TableWriter] for this table.